home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1994-11-23 | 244.7 KB | 6,828 lines | [ TEXT/unix]
Abstracts from files in info-mac/dev/src as of Sun 6 Nov 1994 #### BINHEX ad-invert-shapes-101-c.hqx **** From: joe@clipper.cb.att.com Date: Sat, 9 Oct 93 15:44:10 EDT Subject: InvertShapes 1.0.1 This is version 1.0.1 of the InvertShapes AfterDark screensaver module. This version corrects the "random" feature and the credit string. Source code is included. - j.t.judge #### BINHEX adobe-premiere-developer-c.hqx **** Date: Tue, 5 May 92 14:39 +1200 From: "Lawrence D'Oliveiro, Waikato University, Hamilton, NZ" Subject: info-mac/tech/adobe-premiere-developer.hqx The following archive includes information and sample code (in MPW C and assembler) for writing your own add-ons for Adobe Premiere. You can create custom visual transition effects, video filters, and audio filters. I found this originally posted on AppleLink by Randy Ubillos, author of Premiere. Lawrence D'Oliveiro, Waikato University, Hamilton, New Zealand. ldo@waikato.ac.nz -------------------------------------------------------------------------------- #### BINHEX aiff-based-dsp-framework-c.hqx **** Date: Tue, 2 Aug 1994 14:12:46 -0500 From: Benjamin Denckla <bdenckla@husc.harvard.edu> Subject: Macintosh AIFF-based DSP Framework in Think C --========================_13893358==_ Content-Type: text/plain; charset="us-ascii" Macintosh AIFF-based DSP Framework in Think C available via ftp at "ftp.cs.jhu.edu" in pub/dsp This archive contains code written in Think C 5.0 which provides a framework in which user-written C functions which process the data in AIFF files are called. The framework contains main() and deals with all aspects of AIFF file handling, allowing the user to concentrate solely the development of his/her DSP algorithm. The framework calls three user-written functions in the course of its execution. First it calls the user-written initialization function init_process(), which would typically be used for tasks such as the setup of lookup tables. Then it repeatedly calls the user-written processing function process_samdat(), each time placing a new block of data in the buffer. When the data file has been exhausted, it calls the user-written termination function term_process(), which would typically be used for tasks such as freeing memory which the user had allocated in init_process(). Though the framework is designed for the processing of AIFF files where an AIFF file is taken as input and an AIFF file is made as output, through the setting of user-defined variables, the framework can be made to take no input or make no output. If the variable take_input is set to zero, the framework will not make an attempt to open an input file. This mode is useful for tasks such as the generation of AIFF files by algorithmic means. If the variable make_output is set to zero, the framework will not make an attempt to open an output file. This mode is useful for tasks such as the analysis of AIFF files, where the analysis output goes to the screen or to a non-AIFF file. The code uses a few Think C extensions to C, but I suspect that it could be ported to other compilers or even other platforms without great difficulty. The comment at the beginning of "aiff.h" contains some information about portability. Linkage is specified in the comment at the beginning of "aiff.c". Much more could be written about how to use the framework but time constraints compel me to merely direct the reader to the included examples of processing functions and to the source code for the framework itself. Files included in the archive (by type): framework files: aiff.h, aiff.c, interface.h, interface.c example processing functions: ringmod.c, sinegen.c, analyze.c, zerocross.c, chebyshev.c files used by ringmod.c and sinegen.c: sintab.h, sintab.c this documentation file: AIFF_DSP_v15.README This project was funded in part by the Ford Foundation's project to provide grants for undergraduate research at Harvard University. Ben Denckla bdenckla@husc.harvard.edu Tuesday, August 2, 1994 --========================_13893358==_ Content-Type: application/mac-binhex40; name="AIFF_DSP_v15_folder.sit" Content-Disposition: attachment; filename="AIFF_DSP_v15_folder.sit" #### BINHEX animation-class-library-cpp.hqx **** Date: 15 Sep 1994 16:09:19 GMT From: yschmid@perokcity.net.CH (Yves Schmid) Organization: TSR Subject: Animation Class Library ACL is an object-oriented animation framework which allows the creation of powerful interactive animations. ACL classes cover the needs of most of the applications which have to do fast interactive 2D animations. Doing demos and games with ACL is really easy. Here is a list of the main features of ACL: * Animated objects which may have multiple sequences of frames. * Speed and acceleration of moves processed by ACL. * Curve moves with speed and acceleration. * Animated objects may be structured as a tree (for example a character which handles a sword with an animated light at the end may be structured and moved as a single object). * Drawings sorting (which object should be in front of others) using fixed values or internal algorithms. * Collision detection between two animated objects at the pixel precision. * Background picture which can do a circular scrolling. * Special moveable mask objects which mask other objects using the sorting system. * Double-buffering to avoid display flickering. * Fast and selective display refreshing system. * Command chains which may be linked to an animation object (for example: go to (10/10), change current sequence, go to (20/20), restart). The archive contains: * The documentation of the Animation Class Library. * The Core Class Library archive. * Full commented headers. * Libraries for CodeWarrior and Symantec C++ * Demos + sources. #### BINHEX antoine-c.hqx **** From: fritzsche@satan.vmsmail.ethz.ch Subject: No Subject! Date: Wed, 27 Apr 1994 23:39:44 +0200 Here's a short description of Antoine himself: ---------------------------------------------------------------------- Complete music library : for CodeWarrior DR2 (1.04p1) and for Think C 7.0 Including examples and documentation to use it. You can use this library freely in freeware, shareware, commercial products, etc. with NO royalties. Totaly FREE. Antoine ROSSET ---------------------------------------------------------------------- I'm just passing it on, so please don't send any comments to me! His address is rosset@cultnet.ch -- Arthur W. Fritzsche Federal University of Zurich, Switzerland afritzse@avalon.unizh.ch Department of Informatics #### BINHEX apple-event-interface-plog.hqx **** Date: Mon, 19 Oct 1992 08:29:16 +0100 From: Stephen.Cooper@csd.uu.se (Stephen Cooper) Subject: AE Interface.pl v1.01 This code works only with LPA MacProlog 4.5 or better. AE Interface.pl is the source code for a prolog interface to Apple events. This program allows retreiving succesive answers to prolog goals and translation of the answers to e.g., HyperTalk commands. The answers are in text format, perfect for working with HyperCard or SuperCard. ----------------------------------------------------------- Stephen Cooper +46-(0)18-18 10 73 (voice) Computing Science Dept +46-(0)18-52 12 70 (fax) Uppsala University, Sweden stephen@csd.uu.se #### BINHEX application-menu-addition-as.hqx **** Date: Mon, 11 Oct 93 15:33 +1300 From: "Lawrence D'Oliveiro, Waikato University, Hamilton, NZ" Subject: info-mac/UserInterface/appmenu-additions-as.hqx Hi. Enclosed is a small update to my Application Menu scripting addition for AppleScript. The code is the same as before, but I have changed some resource attributes to try to avoid occasional crashes that could occur with the previous version. Please replace your current copy of the archive with this version. Lawrence D'Oliveiro Computer Services Dept University of Waikato Hamilton New Zealand -------------------------------------------------------------------------------- #### BINHEX arashi-11-c.hqx **** Date: Thu, 22 Jul 1993 23:07:20 GMT From: Juri Munkki <jmunkki@vipunen.hut.fi> Think C 5.04 source for Arashi 1.1, a vector graphics game that requires 256 colors or shades of gray. Juri Munkki jmunkki@hut.fi #### BINHEX arrow-cdef-c.hqx **** From: "David J. Hay" <hay@nag.cs.Colorado.EDU> Subject: ArrowCDEF Date: Wed, 30 Mar 1994 21:24:04 -0700 (MST) Please find attached to this message a Binhexed copy of my ArrowCDEF. This is a CDEF I wrote for implementing an up-down arrow similar to those found in the color picker. It supports the ability to use any PICT resources to draw the arrow, so you can make the arrow look however you like. Included is a Think C 5.0.4 project for the CDEF and a program to test it. The test program includes a resource file with a B&W set of arrows and a color set of arrows. -- |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| | David Hay _-^-_ Remember, always pillage | | hay@cs.colorado.edu / o o \ BEFORE you burn | |--------------------OOO---'---U---`---OOO--------------------| #### BINHEX ars-magna-ii-c.hqx **** Date: Fri, 24 Sep 1993 11:47:34 -0800 From: mxmora@unix.sri.com (Matthew Xavier Mora) Subject: Ars Magna II --========================_7523546==_ Content-Type: text/plain; charset="us-ascii" Enclosed is a new version of Ars Magna called Ars Magna II. I recomplied Mike Morton's ars.c code to use think's console library. This makes it a little more compatible but its still just a C program with command line interface. I gave it a new signature and icon to keep it separate for the other version. I did this because someone here needed to use ars magna and the old version would trash his screen. Hopefully some one will give it a good interface and make it a real mac program. I just don't have the time. Matt --========================_7523546==_ Content-Type: application/mac-binhex40; name="Ars_Magna_II.sea" #### BINHEX artabrot-11-c.hqx **** From: warnergt@aloft.att.com Date: Tue, 23 Nov 93 21:08:23 EST ARTAbrot - Apple Real-Time Architecture Mandelbrot Program Version 1.1 by George Warner 11/22/93 warnergt@aloft.att.com REQUIREMENTS: 68020 or greater ARTA equipped Macintosh (Quadra 840av, Centris 660av, or Mac with ARTA plug-in board. 1. WHAT IT IS: ARTAbrot is a Mandelbrot program that it uses the AT&T DSP3210 in ARTA to perform the intensive Mandelbrot calculations. 2. SOURCE CODE TOO! Complete source code is provided. For those who would like some sample ARTA source code (which is scarce at the time of this release). The DSP3210 source code is in file mbrot.s. All of the host DSP function calls are in brotcode.c. For those of you considering DSP programming, take a look at the mbrot.s DSP source code. This is DSP3210 assembly code, but it is very much like C code -- one of the very nice features of the DSP3210. Release 1.1 11/22/93 Added support for larger windows, resizable windows, and background processing. Release 1.0 08/23/93 First version. #### BINHEX async-sound-sample-pas.hqx **** Date: Sat, 27 Mar 1993 14:30:39 -0800 From: westrom@unixg.ubc.ca Subject: Pascal source code: async sound production I was trying to get Think Pascal 4.0.2 to play anynchronous sounds (sounds that play while other things are happening). It turns out that you have to remove the [D] Debug compile option or else the machine crashes. On the road to discovering this, I made a 'minimal' anynchronous sound playing program. A sample sound playing program is provided by Jim Reekes in the DTS folder of apple.com, but it is very elaborate and complex. What I offer here is a minimum piece of source code that a beginner could look at to see the essential elements of async sound production, done by-the-book (vol VI of Inside Apple, in this case). -------- Marv Westrom Faculty of Education, UBC Vancouver, B.C. Canada V6T 1Z4 #### TEXT atp-sample-code-c.txt **** From: Stuart Cheshire <cheshire@cs.stanford.edu> Subject: Re: Looking for some sample appletalk ATP code... Date: Wed, 2 Sep 92 18:11:08 GMT In article <1992Sep1.033635.28604@sunb10.cs.uiuc.edu> Alex Bratton, bratton@sparc3.cs.uiuc.edu writes: >If you have some sample code (ATP) that opens, registers, and dumps some >data, I'd really appreciate seeing it. This has been bugging me for a while >and I think I need to look at some working code to see what I'm missing. Here is some more sample code, which opens and registers an ATP socket. It is from the Macintosh User Authenticator mentioned in a previous post be me. The code is written for Think C 5. #include <Traps.h> #include <GestaltEqu.h> #include <Folders.h> #### BINHEX auto-bin-c.hqx **** From: mxmora@unix.sri.com (Matthew Xavier Mora) Subject: AutoBin (a drag and drop Binhexer with source) Date: Thu, 9 Dec 1993 13:21:47 -0800 --========================_6876772==_ Content-Type: text/plain; charset="us-ascii" Enclosed is AutoBin. Autobin is a program based on dropshell that will binhex any file dropped on top of it. Since I didn't write very much of the actual code, included the source so other can benefit too. (and hopefully modify it and make it better.) Xavier --========================_6876772==_ Content-Type: application/mac-binhex40; name="AutoBin_w=src.sea" Content-Disposition: attachment; filename="AutoBin_w=src.sea" #### BINHEX bbedit-30-dev-kit.hqx **** From: bbsw@netcom.com (Bare Bones Software) Subject: BBEdit 3.0 Extension Developer's Kit Date: Mon, 17 Oct 1994 19:22:10 -0700 (PDT) The attached StuffIt Deluxe archive contains documentation, interfaces, and sample source code that developers can use to write BBEdit extensions. This updated version features revamped documentation, a new "universal" include file, and information and samples on how to write PowerPC-native extensions. Extensions written with this kit are compatible with BBEdit and BBEdit Lite, version 3.0, and, if properly written, are also backward-compatible with older versions of BBEdit. The extension developer's kit is also immediately for anonymous FTP from ftp.netcom.com, in /pub/bbsw, and from ftp.std.com, in /pub/bbedit. If you have a URL-aware utility such as MacWEB, Anarchie, or Mosaic, you can directly access the developer's kit with one of the following URLs: ftp://ftp.netcom.com/pub/bbsw/bbedit-30-dev-kit.hqx ftp://ftp.std.com/pub/bbedit/bbedit-30-dev-kit.hqx -- Bare Bones Software, Inc. Internet: bbsw@netcom.com %==========================================================================% Rich Siegel Michael Fryar Patrick Woolsey President & CEO Chief Operating Officer Chief Technology Officer #### TEXT blockio-c.txt **** From: "Art Eschenlauer" <eschen@molbio.cbs.umn.edu> Subject: Routines that open blocks as filestreams in ThC 5 Date: Sat, 24 Sep 1994 12:31:39 -0500 (CDT) Here's a file to put into /mac/development/sources/snippets on mac.archive.umich.edu. Compress it as you please. /* blockio.c and blockio.h by Art Eschenlauer Routines to open blocks of memory as simple filestreams under ThinkC 5.0.4 Here are some routines to open a block of memory (Ptr or Handle) as a simple filestream (they do not support disk oriented commands like rewind and seek). I wrote these for porting unix software to ThinkC 5.0.4 using the standard libraries. I don't know if they would work on later versions of ThinkC std libraries. Bugs, comments, flames, etc. to eschen@molbio.cbs.umn.edu. Disclaimer: #### BINHEX bob-15-c.hqx **** Date: Sat, 2 Oct 93 23:08:11 -0700 From: tsyang@dec-9.CE.Berkeley.EDU (Tzong-Shuoh Yang) Subject: Bob15.hqx - Bob Programming Language (Think C source) This is the Tinnk C 6.01 version of Bob 1.5. For details, please see article Betz, David. "Your own tiny object-oriented language: C++? Smalltalk? What about Bob? (an interpreter formed from C++ and Lisp) (tutorial)", Dr. Dobbs Journal v16, n9 (Sept, 1991):26 (8 pages). Bob was written by: David Betz P.O. Box 144 Peterborough, NH 03458 (603) 924-4145 Bob is available free of charge for non-commercial use. If you're interested in using Bob commercially, please contact him at the above address. The original source codes are written in Microsoft C and can be obtained by anonymous ftp from ftp.mv.com. Have fun. T. S. Yang (tsyang@ce.berkeley.edu) ================================================================ #### BINHEX brailler-05b-c.hqx **** From: f8dy@netaxs.com Subject: Brailler 0.5B source code Date: Fri, 28 Oct 1994 19:45:08 -0400 (EDT) Brailler 0.5B is a Braille text editor. You can use it as a brailler-style typewriter (with six keys and a space bar), or you can type in English and Brailler will translate your text into grade 1 or 2 American Standard Braille as you type. This archive contains the complete Metrowerks DR/4 project and resource files. Copyright (c) 1994, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. #### BINHEX c-interp-c.hqx **** Date: Wed, 2 Jun 1993 10:15:23 -0600 From: cshotton@oac.hsc.uth.tmc.edu (Chuck Shotton) Subject: C Interpreter Source Code C_Interp.sit contains the complete Think C source code for an interpreter of a subset of C. It is implemented as a subroutine call that can be embedded in any application, making it extremely easy to add scripting to an existing application. Callbacks from the interpreted C code to the calling application can be made. The source should compile without changes on any Unix host as well. See the enclosed documentation for more details. Note: I am not the original author of this code, but I have modified it to create a stand-alone library function. See docs for credits. --- #### BINHEX calc-1247-c.hqx **** Date: Thu, 14 Oct 93 00:06:24 -0700 From: tsyang@dec-7.CE.Berkeley.EDU (Tzong-Shuoh Yang) Subject: calc-1.24.7.hqx a C-like calculator (Think C src) This is Think C 6.01 port of David Bell's Calc 1.24.7 program. Calc is arbitrary precision arithmetic system that uses a C-like language. Calc is useful as a calculator, an algorithm prototyped and as a mathematical research tool. The calc language is a C-like language. The language includes commands such as variable declarations, expressions, tests, labels, loops, file operations, function calls. These commands are very similar to their counterparts in C. A rich set of builtin functions is provided. Fundamental builtin data types include integers, real numbers, rational numbers, complex numbers and strings. By use of an object, one may define an arbitrarily complex data types. One may define how such objects behave a wide range of operations such as addition, subtraction, multiplication, division, negation, squaring, modulus, rounding, exponentiation, equality, comparison, printing and so on. Copyright (c) 1992 David I. Bell Permission is granted to use, distribute, or modify this source, provided that this copyright notice remains intact. Send calc comments, suggestions, bug fixes, enhancements and interesting calc scripts that you would like you see included in future distribu- tions to: dbell@pdact.pd.necisa.oz.au and chongo@toad.com Enjoy! ====================== hqx file starts here ===================== #### BINHEX calendar-cdef-11-p.hqx **** From: baer@gis.geogr.unizh.ch (Hansruedi Baer) Subject: calendar-cdef-11 Date: Wed, 18 May 94 22:23:07 +0200 Hansruedi Baer Department of Geography University of Zurich Phone: ++1 257-5256 Winterthurerstrasse 190 Internet: baer@gis.geogr.unizh.ch CH-8057 Zurich CalendarCDEF 1.1 This simple control definition function lets you choose a date from a calendar. Source code (THINK Pascal) and a documentation (Word) is included. CalendarCDEF 1.1 is public domain. Questions and comments to: Hansruedi Baer Department of Geography University of Zurich Winterthurerstrasse 190 CH-8057 Z u r i c h e-mail: baer@gis.geogr.unizh.ch ---------------------------------------------------------------- #### BINHEX canimcursor-10b4-c.hqx **** From: k044477@hobbes.kzoo.edu (Jamie R. McCarthy) Subject: /source/c/canimcursor-10b4.hqx Date: Mon, 14 Sep 92 13:56:45 EDT This Compact Pro archive contains the source code for CAnimCursor, a public domain Think C 5 class that provides easy, flexible handling of animated cursors. The Think Class Library is not required. This is the fourth beta. (It's quite stable and hasn't crashed in months, but I'm still calling it beta because of a minor anomaly which I haven't resolved yet.) CAnimCursor uses an 'acur' resource to determine which cursors to display; the animation speed and a few other variables are changed by method calls. Both color and B&W are supported. The interface can be as simple as initializing the object with the resource ID of your 'acur', and calling startAnimating() and stopAnimating() at the appropriate times. CAnimCursor's best feature is that it is very good about doing the Right Thing (tm). For example, if your 'acur' points to color cursors and the Mac is B&W, it will pull the B&W bitmaps out of the 'crsr's. If you call startAnimating() twice, the second call will have no effect. And so on. CAnimCursor will not call SetCCursor at interrupt time, since that trap relies on the heap being good, and will fail if the interrupt occurs during a memory manager reorganization. This does not happen often, but one crash is one too many. Also included are CQixableCursor, a subclass which optionally draws a little 'Qix' over your cursors; subclasses of three TCL core classes which will prevent the cursor from being reset each time through the event loop; a short sample subclass; and four sample cursors, including a smooth beachball and a color spinning earth. (I stole the earth from Stefan Bilaniuk's free extension "Earth," also at sumex-aim. I feel no guilt because I guess he stole it from someone else ;-), and because I colorized all 26 frames by hand, phew!) Extensive (indeed, ponderous) comments explain proper usage, and there are even one or two comments in the code itself. Plus, it comes with a toll-free technical support number, which I figure is a pretty good deal for something in the public domain, eh? #### BINHEX cd-icon-killer-100-asm68k.hqx **** From: Peter N Lewis <peter.lewis@info.curtin.edu.au> Subject: source/asm68k - CDIconKiller 1.0.0 Date: Sat, 18 Jun 1994 05:32:17 +0800 --========================_20335185==_ Content-Type: text/plain; charset="us-ascii" CDIconKiller 1.0.0 Copyright 1994 Quinn & Peter N Lewis Install this INIT to suppress custom icons on CD-ROM drives. This tends to speed up your CD-ROMs by a factor of about a zillion. Caveats Only works for Apple's CD-ROM driver. Works under System 6 :-) Warning: This program was written in 4 hours. Quinn <quinn@cs.uwa.edu.au> Peter N Lewis <peter.lewis@info.curtin.edu.au> Version History 1.0.0 05:30 18 June 1994 Original Release --========================_20335185==_ Content-Type: application/mac-binhex40; name="CDIconKiller_Source.sit" Content-Disposition: attachment; filename="CDIconKiller_Source.sit" #### BINHEX cdef-fjci-fb.hqx **** Date: Mon, 3 Oct 94 13:20:03 CDT From: bobs@saintjoe.edu (Bob Schenk) Subject: [*] CDEF-FJCI (two control definitions with source code) Attached is CDEF-FJCI, a folder containing two control definitions with source code in FutureBASIC, the only serious BASIC for the Macintosh. One is a simple up/down arrow, the other a five-icon button. Included is a demo which shows how they work and also puts in a plug for two CD-ROMs of typefaces I designed. These files may be included on CD-ROM collections as long as no changes are made to them. Robert Schenk bobs@saintjoe.edu PS The FJCI stands for "From Jasper County Indiana." #### BINHEX cdev-stub-cw.hqx **** From: Gordon Watts -- U of Rochester <GWATTS@WHCDF.FNAL.GOV> Subject: FWD: cdev stub for CodeWarrior Date: Tue, 15 Mar 1994 8:38:30 -0600 (CST) From: SMTP%"cwarrior@netcom.com" 15-MAR-1994 07:22:16.60 To: GWATTS CC: Subj: cdev stub for CodeWarrior Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="========================_27555112==_" Date: Tue, 15 Mar 1994 07:25:59 -0500 To: cwarrior@netcom.com From: joe zobkiw <zobkiw@datawatch.com> Subject: cdev stub for CodeWarrior Message-Id: <9403150724.aa05119@gateway.datawatch.com> Sender: owner-cwarrior@netcom.com Precedence: list Reply-To: cwarrior@netcom.com --========================_27555112==_ Content-Type: text/plain; charset="us-ascii" This next one is a stub that will allow you to write a cdev in CW (even though it currently does not allow you to use an id that is a negative.) The code is commented well enough to understand what is going on. --========================_27555112==_ Content-Type: application/mac-binhex40; name="Warrior_cdev_stub.sit" Content-Disposition: attachment; filename="Warrior_cdev_stub.sit" #### BINHEX cellusoft-graphics-demo-c.hqx **** From: kenlong@netcom.com (Ken Long) Subject: Cellusoft-sprite-demo-c Date: Mon, 10 Jan 1994 18:12:38 -0800 (PST) Hi there, Mac Gifties! This file is Think C 5.0.4 source for the Cellusoft Graphics Demo, by Tony Small, author of the game "Quagmire." It demenstrates color 'PICT' clipping to get sprites and animate them over a color background, using offscreen pixmap maniulation. -Ken- #### BINHEX cellusoft-graphics-p.hqx **** From: kenlong@netcom.com (Ken Long) Subject: Cellusoft Graphics Pascal Date: Sun, 20 Feb 1994 20:45:55 -0800 (PST) Tony Small's Cellusoft Graphics Routines in Pascal. Puts up a window, adds a color 'PICT' for background, then animates his "walking eyes" over it, from left to right. -------------------------CUT HERE------------------------------- #### BINHEX change-type-creator-16-c.hqx **** From: markf@post.QueensU.CA (Mark Fleming) Subject: ctc v1.6 src Date: Wed, 19 Jan 1994 18:23:16 -0500 --========================_23531304==_ Content-Type: text/plain; charset="us-ascii" Enclose is source code for: This is a greatly modified version of V1.4 and v1.5 of ctc type convert already in the Info-mac archive. ctc V1.6 - File Typer and End of line fixer (Supports auto suggestion for TIFF, BMP, EPSF and options to only convert creator or type of file) NOTE: TranslatorPackage.sit provided in separate posting contains the compiled version. <<<<<=- =- =- =- =- =- =- =- =- =- =- =- =- =- =- =- =- =-=-=->>>> Mark Fleming, Computing & Communications Services Queen's University at Kingston Ontario, Canada, K7L 3N6 E-mail: markf@post.queensu.ca AppleLink: CDA0448 Phone: (613) 545-2039 Fax: (613) 545-6798 ** The Author of NetDoctor, A Lab and Network Maintainer Package ** --========================_23531304==_ Content-Type: application/mac-binhex40; name="ctc_v1.6.src.sit" Content-Disposition: attachment; filename="ctc_v1.6.src.sit" #### BINHEX chat-11-pas.hqx **** Date: Sat, 12 Dec 1992 12:00:45 +0800 From: Peter N Lewis <peter@ncrpda.curtin.edu.au> Subject: source/pascal/chat-110.hqx This is the pascal source for Chat 1.1.0, a background only application that lets Macs with MacTCP 1.1 serve as a very primitive IRC. The source is very simple, only around 500 lines, and could be used as example code if you wanted to write your own MacTCP server. Chat is free and should run under System 6 or 7, and requires MacTCP 1.1 or later. Hope its useful, Peter. Chat 1.1.0 Copyright 1992, Peter N Lewis <peter@cujo.curtin.edu.au> #### BINHEX cheese-toast-101-c.hqx **** From "jbum@netcom.com (Jim Bumgardner)" Thu Mar 10 11:00:51 1994 From: jbum@netcom.com (Jim Bumgardner) Subject: Cheese Toast 1.0.1 (Game + Source) Date: Thu, 10 Mar 1994 11:00:25 -0800 (PST) This is an update of my asteroids-inspired game Cheese Toast. This archive includes both the game and the source code. It should replace the following Merit Macintosh archive files: game/arcade/cheesetoast1.0.sit.hqx development/source/cheesetoast1.0.sit.hqx The *only* significant change is that I have fixed the game to work on 12 inch monitors, and to work better on large monitors. - Jim Bumgardner --------------------------------------------------------------- CheeseToast 1.0.1 Copyright (c) 1993 Jim Bumgardner Internet: jbum@netcom.com America Online: jbum@aol.com CheeseToast is a Maelstrom/Asteroids-inspired game I wrote to teach myself how to do sprite-movement on the Macintosh. I hope you like it. Feel free to replace the sprites and/or sounds. This archive contains the (uncommented, undocumented) Think C source code as an aid to Programmers who are interested in such things. To run the game, you only need the application "Cheese Toast" and the file "CT Resources". CheeseToast requires a color mac with a 12" monitor or larger and 32-bit Quickdraw. CheeseToast is free. The reason CheeseToast is free is because I don't have time to a) Polish It and b) Handle technical support or programming questions. Please don't include CheeseToast or it's source code in Shareware collections that cost money without receiving my permission. If you would like to do a major revision of CheeseToast, let me know! Changes for version 1.0.1: Cheese Toast now runs correctly on 12 inch monitors, and it centers properly on monitors larger than 13 inches. I fixed an opening audio glitch that was happening on machines with Sound Mgr 3.0. Sprite rendering has been sped up a bit. ----------------snip snip -------------------------------------- #### BINHEX chef-11-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Chef 1.1 (source code) Date: Sat, 26 Feb 1994 23:31:07 -0500 (EST) Chef is a small utility to convert text files to mock Swedish, like the Swedish chef on the Muppets. Version 1.1 supports RTF files and fixes several technical bugs. This will be the last version of Chef; all future enhancements will be part of the larger text conversion program, Dialectic. Supports drag and drop of any number of text files of any length. This archive contains complete THINK C source code, project files, and resource files. Application also available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for complete program list. Copyright (C) 1994, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. #### BINHEX chess-cpp.hqx **** From: Lloyd Wood <L.H.Wood@student.lut.ac.uk> Subject: Chess++ source code Date: Mon, 2 May 94 21:25:25 BST This is the source code to Chess++, a freeware mac chess-playing program. I am not not the author. Steve Bushell can be contacted as <python@world.std.com> -- L. _____________________________________________________________________________ L.H.Wood@student.lut.ac.uk Email me for a copy of the Mac screensaver FAQ #### BINHEX clut-fader-c.hqx **** From: kenlong@netcom.com (Ken Long) Subject: _clut_fade_demo.sit Date: Mon, 20 Dec 1993 18:20:17 -0800 (PST) Dear MacGifts People: Here is a PD demo of a 'clut' fader in Think C 5. Put together by Jonas Englund (busjohnny@aol.com) from two fade routines (FadeToBlack/FadeToNormal) which I sent him. On launch, it puts up a dialog with two buttons in it: "Fade" and "Done." If you click "Fade" it fades to black at a 128 speed, waits 120 ticks and fades back in at 200 speed. Hit "Done" and it exits to shell. The fade rate can be set from 1 to ?????? - however many ticks you want to wait. Set in and out at 1 and it flashes the screen. -Ken- ---------------------------------------------------------------------------- #### BINHEX colour-block-cdef-c.hqx **** From: grantd@dcs.gla.ac.uk Subject: ColourBlock CDEF Date: Thu, 27 Jan 94 13:25:58 GMT ColourBlock CDEF is a CDEF for obtaining and displaying a block of colour from the user. To look at, it's a cross between the Colour and Labels Control Panels. Full THINK C 6.0 source and a compiled version are included in this archive. -dair ---------------------------------------------------------------- #### BINHEX control-panel-094-c.hqx **** From: kenlong@netcom.com (Ken Long) Subject: ControlPanel-0.9.4.sit.hqx Date: Wed, 27 Jul 1994 21:34:57 -0700 (PDT) Folks: I get to postin' here and there and forget where I put everything. I scoured a.s.m., merit and sumex and found this NOT! So here it is. will post to a.s.m., too. Author: Ken Worley. Type: Think C 6.0.1 project. Content: Source for a sample control panel, sample INIT and sample patch. Built examples of each. Additions: Ken Long added Think C 5.0.4 projects, to make it easier on the po' folks. I tried these and the CP and INIT *both* show their icons at startup. The CP won't open unless loaded, but has nice features for a shell. I also tried building all three and there were no problems with that. -Ken- -------You are not Morg. You are not Imorg. What are you?----------- #### BINHEX control-panel-tester-70-c.hqx **** Date: 04 Mar 1993 13:07:09 -0500 (CDT) From: Evan Olcott <EOLCOTT@vx.cis.umn.edu> Subject: Cdev Tester 7.0 /*************** * * System 7.0 Control Panel tester * * )1993 Triplo Software * ****************/ The Control Panel tester is a source code file that you can use to test your cdev code resource files under the THINK C 5.0 environment with little difference from the operating system. Any comments, questions, bugs, etc. please report them to: Triplo Software c/o EOLCOTT@vx.cis.umn.edu If you think I expect money from this, you're crazy. It's freeware, I guess. Have fun. Just credit me where you think it's due. ----------splice 'n' dice here------------ #### BINHEX controls-gh-cdefs-11-c.hqx **** From: grhowes@students.wisc.edu (Glenn R. Howes) Subject: Controls GH 1.1 submission Date: Sun, 24 Apr 1994 16:20:44 -0600 --========================_11780882==_ Content-Type: text/plain; charset="us-ascii" Enclosed is the updated C code and resources for a pair of control definitions (CDEF's) which I originally released last fall. The controls are a simple slider, similar to the Sound control panel's slider, and a flag identical to that used by the Finder in list views. I'm supplying this so other programmers can easilly include these elements in their own dialogs and windows (they have no direct use for the general public). For an application which uses both, see my recently released Siege Watch 2.0. Changes: The flag control is unchanged (it's already perfect). The slider now implements a solid thumb instead of the default outline dragging. I've also removed the pageup and pagedown control parts. --glenn grhowes@students.wisc.edu --========================_11780882==_ Content-Type: application/mac-binhex40; name="Controls_GH.cpt" #### BINHEX cookie-nshell.hqx **** From: JOhearn@aol.com Date: Fri, 28 Oct 1994 17:02:40 -0400 Subject: A cookie command for the nShell Hi, This is a version of the Un*x cookie command for the nShell. Features: -- Cookies are STR resources and may be changed using ResEdit -- Source Code is included Jim O'Hearn (johearn@aol.com) #### BINHEX core-class-library-11-cpp.hqx **** Date: Fri, 16 Sep 1994 12:12:29 +0200 From: msenecla@disunms.epfl.ch (Martin Seneclauze) Subject: CCL_1.1.cpt.hqx CoreClass is a class library for C++ developers. It offers a solid base to develop advanced class systems: - Support for developing complex object structures: multiple linked lists, tree linked lists logical connections, etc... - A message system to send/receive commands into multiple linked list structures, with filters. - A basic error tracking system. - A system for duplicating objects with various heritage levels. CoreClass is very easy to work with, and does not rely on a particular OS, it can be compiled with a regular C++ compiler (the compiler does not have to support "templates" or "exceptions"). #### BINHEX cpreferences-10-cpp.hqx **** Date: Tue, 5 Jul 1994 21:13:02 -0700 (PDT) From: Spencer Low <spencerl@crl.com> Subject: CPreferences 1.0 - Class for CodeWarrior PowerPlant CPreference Class 1.0 --------------------- by Richard A. Bray President Compu-Phobic, Inc. AOL: CompuFobic I (that's me, spencerl@crl.com) am *NOT* the author of this class. This is a simple C++ class for implementing preference files with CodeWarrior's PowerPlant class library. Here's an exerpt from the docs: This class was created to simplify the creation of preference files for an application. The object is very general and simple to use. When MW C++ supports templates, I will rewrite the class to support them. This will allow an easy way to create multiple preference files for applications that need them. Use of CPreferences: 1. Add "CPreferences* mPrefs" to your application class. 2. Add this line to your constructor. mPrefs = new CPreferences('CPI6', "\pTextStreamer 3.0 Prefs"); // 'CPI6' is the creator of the file. // "\pTextStreamer 3.0 Prefs" is the name of the file. 3. Add this line to your destructor delete mPrefs; 4. In order to access the data in your data structure, you will need to add accessor functions to CPreferences. In the next version I will also include methods for using a Preferences dialog. #### BINHEX crooked-mouse-10-c.hqx **** From: f8dy@netaxs.netaxs.com (Mark Pilgrim) Subject: Crooked Mouse 1.0 (source code) Date: Sun, 14 Nov 1993 03:11:39 -0500 (EST) Crooked Mouse is a fun little INIT which will cause your mouse to move at an angle 45 degrees counterclockwise from the angle you moved it. This INIT is free and is distributed under the GNU General Public License; this archive contains complete THINK C 6.0.1 source code and project files for the INIT. If you do not have FTP access, e-mail the author for a copy of the INIT, the source code, or a list of other programs by the same author. The address is f8dy@netaxs.com. This code demonstrates the basics of writing and installing a VBL, and the manipulation of undocumented low-memory globals. This code should work under any system, with any monitor, on all Macintoshes. Please report any bugs/comments/suggestions to f8dy@netaxs.com. Crooked Mouse 1.0 is copyright 1993, Mark Pilgrim, MerriMac Software Group. #### BINHEX ctb-tool-c.hqx **** From: peterc@gnu.ai.mit.edu (Peter Creath) Subject: CTB Connection Tool C source Date: Sun, 20 Feb 1994 04:52:41 -0500 --========================_6967280==_ Content-Type: text/plain; charset="us-ascii" Here is the skeleton code for a Communications Toolbox connection tool. It's fairly well documented and describes what needs to be implemented to make it fully functional. Note: I am the author. --========================_6967280==_ Content-Type: application/mac-binhex40; name="Connection_Tool_=.sit" Content-Disposition: attachment; filename="Connection_Tool_=.sit" #### BINHEX curses-c.hqx **** From: ROBERT@MASTER.UCHICAGO.EDU Subject: curses.sit Date: Wed, 1 Jun 1994 3:02:21 -0500 (CDT) Source code for an implementation of curses for Macintosh (using Think C) and MSDOS. Curses is a Unix subroutine library for managing text screens. This is a fairly complete implementation that should make it possible to port curses apps to the mac without too many changes (termcap stuff isn't supported, though). See enclosed readme files for more details. This is unsupported public domain code. * Robert Zimmerman * robert@master.uchicago.edu [file curses.sit.hqx:] --------------------------------------------- #### BINHEX cwaste-cpp.hqx **** From: dan@rhino.harvard.edu (Dan Crevier) Subject: Submission of CWASTE.sit.hqx Date: Sun, 31 Jul 1994 15:05:38 -0400 (EDT) Enclosed is CWASTE.sit.hqx, a conversion of version 1.0 Marco Piovanelli's TextEdit replacement from pascal to C. It has been compiled with Metrowerks 68K and PPC, and with Think C 7.0. Thanks. Dan #### BINHEX darth-vader-10-c.hqx **** From: f8dy@netaxs.netaxs.com (Mark Pilgrim) Subject: Darth Fader 1.0 (source code) Date: Sun, 21 Nov 1993 04:24:08 -0500 (EST) Darth Fader will cause your Macintosh to quickly fade all attached screens to black and back when it beeps. This INIT is free and is distributed under the GNU General Public License; this archive contains complete THINK C 6.0.1 source code and project files for the INIT. If you do not have FTP access, e-mail the author for a copy of the INIT, the source code, or a list of other programs by the same author. The address is f8dy@netaxs.com. This code demonstrates the basics of INIT initialization and loading, trap trapping, and advanced gamma work. This code will only work on monitors with gamma -- the Mac II line, and any color Mac with a non-built-in monitor. (It has not been tested on a Color Classic; if anyone has one and feels like testing, please let me know if it works.) Please report any bugs/comments/suggestions to f8dy@netaxs.com. Darth Fader 1.0 is copyright 1993, Mark Pilgrim, MerriMac Software Group. #### BINHEX dbl-library-p.hqx **** From: kenlong@netcom.com (Ken Long) Subject: DBL Pascal Lib. Date: Mon, 21 Feb 1994 15:01:05 -0800 (PST) //* Posted by Kenneth A. Long *// //* Author's comments follow. *// ----------------------------------------------------------------- David B. Lamkins DBLamkins@aol.com Source code released by David B. Lamkins, Feb. 1994. Here's a collection of Pascal routines that I've developed and used over the years. All of these are for THINK Pascal version 4. Not all of these are production-quality - some parts are only minimally tested. Terms of distribution are followed by a brief contents list: * This software is provided as-is, in the hopes that you will find it useful. * The software is provided without warranty of any kind. * I am releasing this software to the public because I have no intention of further developing it; I will not answer questions regarding this software. * This software is Copyright David B. Lamkins. * I grant permission for you to reuse this software, provided that my copyright is included as prominently as your own, in the form "Portions Copyright 1994 David B. Lamkins." * The Macintosh type/creator signatures used for the programs are registered with Apple Computer, Inc. in my name, and may not be reused. * You may not release derivative programs under their original names of PwrSwitcher, TimeTeller, or LaunchFile XCMD. Brief Contents Agendas Animated Cursor Async Sound Call Chain Checksum CRC Debugger Presence ICON control CDEF sicn control CDEF Pop up menu CDEF Error Signals Fast Bit Vectors Hash Tables INIT Shell Layer Manager IF Levenshtein Matching Short Fractions Submenu Delay Preferences Queues RSRCRuntime Bug Fix SFGetFolder 6 String Lists Transactions Mgr Dialog Utils Pop up Utils Block Zero VM Traps IF David B. Lamkins DBLamkins@aol.com ---------------------------CUT HERE----------------------------- #### BINHEX dcl-ansi-c.hqx **** From: k044477@hobbes.kzoo.edu (Jamie R. McCarthy) Subject: dcl-ANSI (all) Date: Thu, 22 Apr 93 0:45:35 EDT C's method of declaring variables and functions is one of the most confusing parts of the language. Even old pros will double- and triple-check their arrays of pointers. And the pathological cases are truly bizarre: "int(Int(int(Int)))" declares a function that accepts and returns an int, but "int(Int(int(int)))" declares a function that accepts another function, and _that_ function accepts and returns an int. Weird stuff. "dcl-ANSI" lets you type in a declaration, hit a few keys, and see what it means, in plain English. Tell it "int (*x[])()" and it tells you x is "type array[] of pointer to function with undefined parameters returning type int." It's based on the "dcl" program in section 5.12 of K&R, but, as the name implies, it fully understands ANSI. (Well, OK, there are a few limitations. See the readme for details.) And it's public domain. There are two editions of this utility. It was first created as a BBEdit extension, because (1) I like BBEdit and (2) BBEdit provides a particularly nice environment for hacks like this to live in. If you keep BBEdit open while programming, you may prefer this version. Otherwise, you'll probably want to use the second edition, the FKEY, because it's simpler: just select your declaration, hit cmd-C and cmd-shift-9 [*], and the English explanation is in the clipboard, waiting for you to paste it somewhere. This file contains both editions and their complete Think C 5 source code. Suggested archive destination: .../source/c/dcl-ansi.hqx -- Jamie McCarthy Internet: k044477@kzoo.edu AppleLink: j.mccarthy #### BINHEX detect-new-volume-cpp.hqx **** From: oleg@ponder.csci.unt.edu (Kiselyov Oleg) Subject: Detect New Volume - Display volume's message-of-the-day Date: Thu, 17 Mar 1994 14:32:46 -0600 --========================_13948252==_ Content-Type: text/plain; charset="us-ascii" What: Detect a new mounted volume and "double-click" at a document/application (if found) at a "standard" location on that volume What for: telling the user (a student) what's new on some particular volume and/or how to use it. The document "clicked" by the present WatchVol program may be a text document about what's new on the volume. Or it may be any application that somehow prepares the student how to use the (file server) volume, whenever the volume is mounted. Hot points: Dynamic (transient) patch of the system: doesn't require restarting the system, gets uninstalled when the application quits. Contents: WatchVol - Application (watchdog) itself Watch MountVol.pi - project and resource files to build it Watch MountVol.pi.rsrc WatchMount.cc - Source code of the main module (C++) launcher.cc - Launches an application-creator given FSSpec of the document/application MountVol init.pi - project to compile an Init (not INIT!) code resource that patches the system on-the-fly MountVol init.c - Source code of the _MountVol interceptor (assembly inlined into a dummy C program) The source code contains enough (I hope) comments to show what a particular piece of code does, as well as some tricks involved Language: Symantec C/C++ 6.0 and built-in Assembler System: System 7.x, uses AppleEvents. Tested on IIsi, IIci, Quadras and Centres. Patching the system: _MountVol system trap is patched when the application starts up. The patch is removed (i.e., the trap is restored to its original state) when the application quits. How to run: place the application into your "Startup Items" folder; the application quits when it receives a "QUIT" event, or when it's in the foreground and any keyboard key is pressed. Note: the source code uses a "standard" environment, see myenv-notify.cpt For completeness, the library and the .h file are included as a separate CompactPro archive. However, they (complete with the source code) can be found at various archive sites under the name 'myenv-notify' Comments to: oleg@ponder.csci.unt.edu, oleg@unt.edu --========================_13948252==_ Content-Type: application/mac-binhex40; name="DetectNewVolume.cpt" Content-Disposition: attachment; filename="DetectNewVolume.cpt" #### BINHEX devils-cubes-101-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Devil's Cubes 1.0.1 (source code) Date: Tue, 14 Dec 1993 18:50:12 -0500 (EST) The Devil's Cubes are a set of four cubes, each painted with four colors with some colors repeated. All four cubes are different. The object of the game is to rotate the four cubes until the top of each Devil's Cube is a different color than the top of the other three cubes, and likewise for the bottom, front, and back of each Devil's Cube. Sound simple? Try it for a few hours. Devil's Cubes 1.0.1 fixes some technical bugs and makes some changes to the icon suite; you may need to rebuild your desktop if you already have version 1.0. This game is distributed under the GNU General Public License; this archive contains complete THINK C source code for the Devil's Cubes application, as well as complete source code for an external application used to set up the game's self-integrity checker. This archive contains both THINK C 5 and THINK C 6 project files. Use whichever one you wish and throw away the other. This code handles, among other things, events, menus, apple events, a prefs file, Gestalt environment checking, asynchronous sounds, hierarchical menus, dialogs, windows, off-screen bitmaps, file management, standard file dialogs, and the soon-to-be-famous "cough to continue" modal dialog filter proc. None of this is very well commented, but feel free to direct any questions to f8dy@netaxs.com. Devil's Cubes 1.0.1 is copyright 1993, Mark Pilgrim, MerriMac Software Group. #### BINHEX df-nshell.hqx **** Date: Sat, 20 Aug 1994 05:23:43 -0700 (PDT) From: John Jensen <jjensen@kaiwan.com> Subject: nShell "df" command and C source This package contains a new "df" command (and its source code) for the nShell(tm). This command displays the size of currently mounted volumes, the amount of used and available space, and how much of the volume's total capacity have been used. The nShell is a traditional scripting environment for the Apple Macintosh. The shell is available in two forms. A light version, called nShell(tm), is freely distributable for non-commercial purposes. A second version, called nShell-Pro(tm), is available as a commercial product. Our goal is to make the shell environment available to as many users as possible, while providing serious users with the support and reliability of a full commercial product. A programmer's guide to the nShell, with example source code, is available separately. You may distribute unmodified copies of nShell(tm) commands for noncommercial purposes. All other rights are reserved. nShell and nShell-Pro are trademarks of Newport Software Development. Apple and Macintosh are registered trademarks of Apple Computer, Inc. Other brands and their products are trademarks of their respective holders. Contact: John Jensen EMail: jjensen@aol.com, jjensen@kaiwan.com, or jjens@eworld.com Mail: Newport Software Development, P.O. Box 1485, Newport Beach, CA 92659 #### BINHEX dialectic-12-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Dialectic 1.2 (source code) Date: Mon, 4 Apr 1994 19:38:02 -0400 (EDT) Dialectic 1.2 is a general text conversion utility to pass text through a "dialect" filter of your choice. Version 1.2 adds a "convert clipboard" feature, four new dialects, an improved Chef dialect, massive technical improvements, and Balloon Help. This version includes the following dialects: Chef, Fudd, WAREZ, Underwater, Middle English, Pig Latin, Morse Code, Op, and Rot-13. Supports drag and drop of any number of text, RTF, or Teachtext "read-only" files of any length. This archive contains complete C source code and related project files. Application also available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for complete program list. Copyright (C) 1994, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. Have a nice day. #### BINHEX dink-class-c.hqx **** Date: Tue, 2 Mar 93 08:08:11 -0800 From: blob@apple.com (Brian Bechtel) Subject: DinkClass [Downloaded from AppleLink--I'm not the author, Mark Gross is. Contact him via zsass.markg@applelink.apple.com.] DinkClass is a small Think C5.0 (and MPW C++) application framework for system 7 applications. DinkClass is now offered as shareware. If you use ANY of it in your own software, then you must pay a one time fee to Applied Technical Software (ATS) of $45. In return you will get unlimited rights to distribute any COMPILED programs created using part of DinkClass source code. However; the distribution of any source code derived from parts of the DinkClass software MUST BE DONE WITH APPLIED TECHNICAL SOFTWARE'S CONSENT!!!! (So, give me a call.) You also get, for the $45, two free maintenance updates of the basic class library, of the basic demo applications, of the documentation, any extra demo applications I may have created (DComDemo a CTB demo, for instance), the MPW C++ supporting files (.make, .r, .c files renamed to .cp, etc.), and telephone and EMail support. Maintenance updates go out in December and July. The DinkClass ShareWare distribution package includes: o Think C 5.0 projects with well commented source code for 2 applications and the Template project. o Think C 5.0 source files for the base class library. o Off-line documentation of the key features implemented in the class library, all conforming to the Feature Oriented Documentation standard developed. Features documented in this way include: All the applications, Scrolling Windows, Event parsing, File and I/O handling, Clip board support, Menu Handling, and more. o A readme file. o A directory "Listings" file of what constitutes this ShareWare distribution. o A shameless flier soliciting contract software development work for ATS. o The executable form of the CTB demo application. o This "Posting note" Feel free to redistribute this shareware package of DinkClass as you wish, but ALL OF THESE FILES MUST STAY TOGETHER UNALTERED IN ANY RE-TRANSMISSION OR DISTRIBUTION OF THIS SHAREWARE PACKAGE!!!!! p.s. it would be nice if someone could but this package in some of the INTERNET repositories (like SUMEX) Mark Gross 12/31/92 Applied Technical Software 19548 W. Cambridge Rd. Mundelein, IL 60060-1005 Telephone: 708.949.0925 Software engineering services in OOD, OOP, C++, C, MacApp, TCL, MPW, ThinkC. Initial project development intended for transfer to client with continued technical support. Turnkey, prototype, and consulting projects accepted. I know, its another shameless plug. p.s. If you would like to use DinkClass in an educational setting contact me for FREE transient licensing arrangements. --Brian Bechtel blob@apple.com "My opinion, not Apple's" #### TEXT dir-scanning-sample-c.txt **** Date: Wed, 2 Sep 92 15:19:54 PDT From: macmod@SUMEX-AIM.Stanford.EDU (Info-Mac Moderator) orrow.stanford.edu!stanford.edu!ames!haven.umd.edu!darwin.sura.net!wup ost!micro-heart-of-gold.mit.edu!bu.edu!Shiva.COM!world!aep From: aep@world.std.com (Andrew E Page) Newsgroups: comp.sys.mac.programmer Subject: Re: Directory Scan Revisited dirscan.c (C Code) Message-Id: <Btyt08.JLL@world.std.com> Date: 2 Sep 92 19:04:54 GMT References: <BtwK89.oI@world.std.com> Organization: The World Public Access UNIX, Brookline, MA Lines: 625 Apparently-To: info-mac Resent-To: backmod Resent-Date: Wed, 2 Sep 1992 15:19:53 PDT Resent-From: Info-Mac Moderator <macmod@sumex-aim.Stanford.EDU> Here is the directory scanning code. Written under MPW 3.2. --------CUT HERE------------------------------------------------CUT HERE------ #### BINHEX directory-c.hqx **** From: kenlong@netcom.com (Ken Long) Subject: directory_src.sit Date: Tue, 21 Dec 1993 08:54:22 -0800 (PST) Dear MacGifters: A netcom server error fouled up my first attempt to send this. ----------------------------------------------------------------------- Directory is o PD (for noncommercial use) Think C 5.0.4 project which puts up a window, shows progress data of scans of mounted volumes in a window for each, then displays full path trees for all files on the volumes. Teaches about getting full paths, scanning volumes, scrolling text, writing data to a window, and much more. ----------------------------------------------------------------------- #### BINHEX dirent-h.hqx **** Date: Sun, 4 Jul 93 14:52:04 EDT From: ugtalbot@mcs.drexel.edu (George T. "14K F/D" Talbot) Subject: dirent.sit.hqx This is source code for a Mac implementation of the UNIX "dirent.h" library. #### BINHEX drag-n-drop-nshell-101.hqx **** Date: Sun, 18 Sep 1994 10:43:32 -0700 (PDT) From: John Jensen <jjensen@kaiwan.com> Subject: nShell(tm) Drag and Drop v1.0.1 This package contains an experimental copy of the nShell(tm) drag and=20 drop template. This template allows nShell(tm) scripts to be easily=20 converted into drag and drop applications. =20 How easily? Drag a copy of the "nShell(tm) drop" template onto BBEdit. =20 Type in your script and close the file. You're done. =20 This template requires that a copy of the nShell=AA or nShell-Pro=AA=20 application be installed on your system. Version 1.0.2 of the nShell may= =20 be found on info-mac archives at: =20 /info-mac/dev/n-shell-102.hqx =20 That package also contains a hypertext User's Guide which describes=20 nShell scripting. =20 This is an experimental release. If you encounter any problems, please=20 write to: =20 John Jensen <jjensen@kaiwan.com> =20 Thank you. #### BINHEX dragonsmith-111-cp.hqx **** From: paul.hoffman@umich.edu (Paul Hoffman) Subject: Dragonsmith 1.1.1 Date: Sun, 16 Jan 1994 08:46:13 -0600 --========================_17225260==_ Content-Type: text/plain; charset="us-ascii" Dragonsmith 1.1.1 Drag-and-drop application kit for THINK C 5.0 and 6.0. Dragonsmith lets THINK C programmers easily create drag-and-drop applications (or "dragons") for use with System 7. It features an object-oriented class "Dragon" which may be subclassed to provide any batch-type action desired. All source code is included. Version 1.1.1 is a bug-fix and THINK C 6.0 compatibility release only. No new features have been added, and the documentation has not been changed from version 1.1. Some of the bug fixes since version 1.1 -- + Processing is no longer sluggish when drag-and-dropping files to launch a dragon + Files on AppleShare volumes are now handled correctly + Launch in System 7.1 no longer results in a crash Notable features of Dragonsmith -- + Versatile disk- and folder-opening capability + Background processing + Extensive documentation (MSWord and text formats) + Resource-based Preferences class + Template files for quick Dragon subclassing Three sample dragons with full source code are included. Dragonsmith is freeware. Paul Hoffman. Internet: paul.hoffman@umich.edu AFS: /afs/umich.edu/user/n/k/nkuitse "Dragons do not enter into this story" --========================_17225260==_ Content-Type: application/mac-binhex40; name="Dragonsmith_1.1.1.cpt" Content-Disposition: attachment; filename="Dragonsmith_1.1.1.cpt" #### BINHEX dragonsmith-111-cw-updt.hqx **** Date: Sat, 22 Oct 1994 20:25:31 -0400 From: paul.hoffman@umich.edu (Paul Hoffman) Subject: Dragonsmith 1.1.1 CodeWarrior update --========================_13102812==_ Content-Type: text/plain; charset="us-ascii" Dragonsmith CW Update updates Dragonsmith 1.1.1 for CodeWarrior C++. The full Dragonsmith kit (available separately) lets programmers easily create drag-and-drop applications for use in System 7 or greater. This archive contains project files for CodeWarrior 4.5 as well as replacements for 8 of the source code files, incorporating changes needed for compatibility with Apple's Universal Headers and CodeWarrior C++. Users of Symantec C++ may benefit from this upgrade as well, although use of Dragonsmith 1.1.1 in Symantec C++ 6.0 or greater has not been tested and is therefore not fully supported. This update was produced by Francis H Schiffer, 3rd. Support for the CodeWarrior version of Dragonsmith will be provided (when possible) by the original author of Dragonsmith 1.1.1, Paul Hoffman. Dragonsmith is freeware, Copyright (c) 1992-1994 Paul M. Hoffman. Programs created using Dragonsmith may be distributed without restriction. NOTE: "Drag-and-drop" here refers to the original Apple Event variety, not to the more recent Drag and Drop for Macintosh (aka the Drag Manager). Paul Hoffman | Francis H Schiffer, 3rd paul.hoffman@umich.edu | skipschiffer@GEnie.geis.com dragonsmith@umich.edu | - - - - - - - Dragons do not enter into this message - - - - - - - --========================_13102812==_ Content-Type: application/mac-binhex40; name="Dragonsmith_CW_update.cpt" Content-Disposition: attachment; filename="Dragonsmith_CW_update.cpt" #### BINHEX driver-22-c.hqx **** From: Pete Resnick <resnick@cogsci.uiuc.edu> Subject: Driver 2.2 Date: Sun, 24 Oct 93 16:20:52 CDT Attached is version 2.2 of Pete Resnick's device driver code. This code is especially useful for device drivers written using THINK C's device driver facility, though it is useful for other development environments as well since it describes in detail how to install device drivers correctly into the Device Manager unit table. Please feel free to use it and to distribute it in it's original form. All that I ask is that you credit me if you use it in a released piece of code. pr -- Pete Resnick (...so what is a mojo, and why would one be rising?) Graduate assistant - Philosophy Department, Gregory Hall, UIUC System manager - Cognitive Science Group, Beckman Institute, UIUC Internet: resnick@cogsci.uiuc.edu #### BINHEX drop-shell-20-c.hqx **** From: somogyi@ziff.com (Stephan Somogyi) Subject: DropShell 2.0 Date: Sat, 2 Jul 1994 15:20:45 -0700 --========================_13717509==_ Content-Type: text/plain; charset="us-ascii" DropShell 2.0 - July 1st 1994 by Leonard Rosenthol, Marshall Clow, and Stephan Somogyi DropShell is a collection of C source files that allow you to easily build your own System 7-style drop-box applications. Basic Features DropShell consists of four source files and five header files that are designed to let you quickly add your own application's functionality without having to change the DS sources themselves much. DropShell implements support for dragging files and folder onto the application's icon via AppleEvents - it doesn't cheat and use the System 6 compatibility provided by System 7. DropShell is also a fully factored application - it performs its work by sending AppleEvents to itself. This also allows an application built on DropShell to be "recorded" by an OSA-compatible scripting system. DropShell handles a simple user interface including a splash screen, a "Select File..." option and complete balloon help for all menus and dialogs. --========================_13717509==_ Content-Type: application/mac-binhex40; name="DropShell_2.0_sources.sit" Content-Disposition: attachment; filename="DropShell_2.0_sources.sit" #### BINHEX dunjin-44.hqx **** From "Magnus Olsson <magnus@thep.lu.se>" Tue Aug 24 18:03:37 1993 From: Magnus Olsson <magnus@thep.lu.se> Date: Tue, 24 Aug 93 15:49:08 +0200 Subject: Dunjin_4.4.cpt.hqx part 1/6 Dunjin_4.4.cpt.hqx part 1 of 6 ===== cut here ===== Submission for info-mac: Dunjin 4.4, a text adventure game. (BinHexed Compact Pro archive) Dunjin version 4.4 is a shareware text adventure game for Macs, in the Infocom tradition. Although this is a traditional text game, I have tried to make use of the Mac's user interface. It is possible to cut-and-paste text from the text window, there is a "movement compass" that lets you move about by clicking on directions, and some of the most common commands can be performed just by clicking on buttons on a "command palette". Of course, it's still a text adventure - no pretty pictures, I'm afraid... Enjoy! Magnus Olsson -- magnus@thep.lu.se, mol@df.lth.se BinHexed file follows below. ========================= cut here ============================= #### BINHEX earth-plot-301-c.hqx **** From: kenlong@netcom.com (Ken Long) Subject: earthplot-301-c Date: Wed, 19 Jan 1994 07:30:20 -0800 (PST) Hello, folks! Here's an unsolicited file. -Ken- ------------------------Tear along dotted line---------------------------- Description: This is an update of the EarthPlot 3.0 C source. The copy I downloaded, years ago, from AOL, did not run. There was an undefined "FlushEvents" in the tskel.lib addition, which there was no source for. So I had to get TransSkel, get it to run on Think C 5.0.4, use it in EarthPlot, then get EarthPlot to run in the same env. Piece of cake! Here it is! --------------------------Cut Here------------------------------------ #### BINHEX eat-au-p.hqx **** Date: Thu, 2 Dec 1993 16:07:50 +0800 From: Quinn <quinn@cs.uwa.edu.au> Subject: Movie Import Component Source Code --========================_17153170==_ Content-Type: text/plain; charset="us-ascii" Greetings EatAU is a QuickTime component that converts Suns audio (.au) files into QuickTime movies. It comes with full source code and is a simple example of how to write a component in Pascal. Share and Enjoy. --========================_17153170==_ Content-Type: application/mac-binhex40; name="EatAU.cpt" #### BINHEX enum-types-creators-c.hqx **** From: kenlong@netcom.com (Ken Long) Subject: enumtypes-creators-c Date: Mon, 17 Jan 1994 17:29:26 -0800 (PST) Dear Mac Gifters: You don't seem to have posted my stuff at U. Michigan, lately. I've seen them on Standord, though. Still short on disk space? -Ken- -------------------------------------------------------------------------- Description: Two Think C 5.0.4 source projects. One scans the resident drive for all file types, creates a new text file, and writes those types in a sorted list, with the quantity of those types adjacent to them. The other does exactly the same thing with file creators. ---------------------------Cut Here---------------------------------------- #### BINHEX example-scripting-additions-c.hqx **** Date: Mon, 4 Oct 1993 12:56:06 -0500 From: jonpugh@netcom.com (Jon Pugh) Subject: [*] Scripting Addition Samples --========================_14520392==_ Content-Type: text/plain; charset="us-ascii" Here are eight sample AppleScript Scripting Additions with C source code done by Donald Olson of Apple Computer and presented in his WWDC talk this year. I was asked to make these available on the Internet and now I have. ;) These demonstrate a number of useful techniques for presenting information including the use of records and wildcard handlers in addition to the minimal boring stuff. For all who care, Donald said it was OK to post them since they are also on Applelink. Jon --========================_14520392==_ Content-Type: application/mac-binhex40; name="OSAX_Samples.sit" #### BINHEX extension-shell-13.hqx **** From: grantd <grantd@dcs.gla.ac.uk> Subject: Extension Shell 1.3 - Help for INIT writers Date: Wed, 27 Apr 94 17:43:08 BST Extension Shell is a library of source code for writing System 7 Extensions. Full source code is provided, as well as six sample Extensions demonstrating how to write Extensions with Extension Shell. Extension Shell acts as an Extension-independent loading mechanism. It takes care of the generic stuff needed by all Extensions (showing icons, installing things into the System Heap, posting Notification Manager messages), and reduces the amount of coding needed to produce new Extensions. To write an Extension with Extension Shell, you just decide what you want installed, compile it into a code resource, and paste in Extension Shell. Trap patches, VBL tasks, Shutdown tasks, Time Manager tasks, Gestalt selectors, low-memory filters (e.g., jGNEFilter), and blocks of code can all be installed through a simple "fill out the details in a table" mechanism. -dair #### TEXT fft-asm.txt **** From: Tom Barrett <barrett@pacific.mps.ohio-state.edu> Date: Tue, 26 Jul 1994 10:06:11 -0400 This is an update to info-mac/sci/fft-in-asm-src.txt This file contains three routines: * void tb_68k_four1_extended(long double *data, long nn, long isign); * void tb_68k_four1_single(float *data, long nn, long isign); * void tb_68k_fourn_single(float *data, long *nn, long ndim, long isign) ------------------------------ CUT HERE ------------------------------ /* This code is a hand-assembled version of the fft routine from Numerical Recipes. See the book for information about how it works. All variable names in comments refer to those in the book. To use this routine: * You must have a math coprocessor. * Use Think C (users of other compilers may be able to adapt it). #### BINHEX file-dropper-11b3-c.hqx **** From "macmod (Info-Mac Moderator)" Mon Aug 30 06:32:34 1993 From: macmod (Info-Mac Moderator) Date: Mon, 30 Aug 93 6:32:31 PDT (5.65c/IDA-1.5 for info-mac@sumex-aim.stanford.edu); Sun, 29 Aug 1993 22:35:45 -0700 Date: Sun, 29 Aug 1993 22:35:00 -0700 (PDT) From: Troy Anderson <tla@crl.com> Subject: File Dropper 1.1b3 To: info-mac@sumex-aim.stanford.edu Message-Id: <Pine.3.05.9308292200.A23203-h100000@crl.crl.com> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Content-Transfer-Encoding: QUOTED-PRINTABLE File Dropper 1.1b3 Written by Troy Anderson Copyright (c) 1992-1993, Troy Anderson; All Rights Reserved What Is This Thing? File Dropper is a THINK C 6.0 library that implements an application that y= ou can drop files or folders onto to do batch operations on. It handles the getting of the AppleEvents if running under System 7, the main event loop, = and the menus. You need only write the code that acts on the individual files. New Features in 1.1=A73 o Fixed a bug so that when you drop a folder onto your File Dropper application, all the files inside are processed in stead of just the first one. =20 New with version 1.1b2: o Built "File Dropper =B9" in THINK C 6.0 o The cursor is NOT reset to an arrow after each call to SetStatusPercenta= ge. o If you return FALSE from the eStartup, eSFInitialize, or eAEInitialize messages, File Dropper will send you an eQuitting message and quit the application. o If you return FALSE from the eValidate message, File Dropper will skip a= ny remaining files in the current batch. o If you return FALSE from an eDispose message, File Dropper will send you= an eQuitting message and quit the application. Returning TRUE from an eDis= pose message will cause File Dropper to continue running. This behavior does= NOT depend upon which of eSFInitialize or eAEInitialize was sent to you. o If you return TRUE from an eQuitting message, the File Dropper quits. O= n the other hand, if you return FALSE from an eQuitting message, File Dropper will quit. o If you want the source code to File Dropper, send me money (see the end = of this document). o Added an eUserCancelled message for when the user clicks Cancel in the s= tatus box. o Added an eIdle message. o Added the ChangeStatusMessage function that lets you change the message = in the status dialog on the fly, during your processing of the file. o Changed some things internally, so you can NOT call InstallCustomGetFSSpecFunc, InstallCustomFileFilterFunc, or InstallCustomDialogHookFunc from an eSFInitialize or eAEInitialize mess= age any more, just from eStartup. o Fixed a bug in the ErrorAlert function so that text relating to the erro= r as well as the word "Error." show up in the dialog. o Made it simpler to support AboutBox functionality. You just put text in= STR# resource 129, and it will be displayed in the warp stars. To enable thi= s feature, return TRUE from the eDoAboutBox message. New with version 1.1b1: o You specify if you want the status dialog displayed while you are working on the file. Progress bar like Finder 7's that you update by specifying how far you are along with a percentage (0 - 100). You specify if you want this, too. #### BINHEX final-chance-111-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Final Chance 1.1.1 (source code) Date: Mon, 17 Jan 1994 22:17:12 -0500 (EST) Final Chance 1.1.1 is a combination of fluff and utility, giving you a random quote on shutdown (one of 150) and a chance to stop the shutdown process and go back to the Finder. If you let the dialog box sit for 60 seconds, it will automagically shut down. This archive contains complete THINK C source code and project files. The INIT alone is also available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for complete program list. Copyright (C) 1993-4, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. #### BINHEX finder-progress-bar-11-c.hqx **** From: Christopher Klaus Larson <cklarson@engr.ucdavis.edu> Subject: finder-progress-bar-11.hqx (CDEF w/ C source) Date: Fri, 29 Apr 1994 00:44:42 -0700 (PDT) Finder ProgressBar 1.1 by Chris Larson This is an updated verson of my CDEF which mimics the progress bars used by Finder. THINK C 7.0 source included. Moderators: This file should go in the info-mac/dev/src directory, replacing the file "finder-progress-bar-10.hqx". Feel free to include it on the CD-ROM. --Chris ______________________________________________________________________________ Chris Larson -- Amateur Macintosh Geek, UC Davis -- cklarson@engr.ucdavis.edu #### BINHEX finger-server-c.hqx **** Date: Wed, 20 Oct 1993 10:00:21 -0400 (EDT) From: Aaron Wohl <aw0g+@andrew.cmu.edu> Subject: finger server for system 7 Finger server for system 7 by Aaron Wohl N3LIW / Public Domain / mail n3liw+@cmu.edu Home ftp site akutaktak.andrew.cmu.edu [128.2.35.1] /aw0g/finger* Shows list of running processes and list of open files. >From a unix server we finger a mac running a mail gateway to see if it is still alive and what it is running. Think C sources included #### BINHEX flight-simulator-20-c.hqx **** Date: Fri, 11 Dec 92 10:32:00 PST From: chris@carnival.lbl.gov (Chris Moll) Subject: flight-simulator_v2.hqx This is the source code for a program to demonstrate how to do 3D perspective drawing and clipping. It's written as a sort of crude flight simulator - you "fly" through a rather simple world. It also shows how to do simple animation. All math is fixed-point to make the speed tolerable on feebler Macs. With an FPU the speed would be roughly the same using floating point. The package contains the source code, a ThinkC vers.5.0.3 project, and an executable version compiled for any Mac. The changes from the old version are minor, mostly I fixed things that would prevent it from compiling. Comments etc. to Chris Moll chris@carnival.lbl.gov archive as /info-mac/source/c/flight-simulator_v2.hqx (replace /info-mac/source/c/flight-simulator.hqx) #### BINHEX flight-thru-clouds-cpp.hqx **** Date: Sat, 9 Jul 94 12:42:15 -0500 From: oleg@ponder.csci.unt.edu (Kiselyov Oleg) Subject: flight_thru_clouds - simple virtual reality w/ source and expl What: "virtual" flying through the clouds Hot points: - simple virtual reality "thing" - with the source - *very* detailed explanation as to how to generate clouds and render maps in 3D. - includes the source for a small class library to handle color Mac windows and draw images in off-screen GrafWorlds Contents: Readme - this file Venus - Application itself Venus.pi - project and resource files to build it Venus.pi.rsrc - 'clut' resource FractalMap.cc - generate a fractal map (clouds) project_3D.cc - display a 3D moving projection of the map of clouds display.cc - display an image in a Mac window window.h \ my own private *very* simple MacApp: classlib for SimpleWindow.cc / handling color Mac windows and offscreen GrafWorlds The source code contains (too) many comments to show what a particular piece of code does, as well as some tricks involved Language: Symantec C++ 7.0.3 (previous versions might work, too) System: System 7.x; tested on IIci, Quadras and Centres. Note: the source code uses a "standard" environment, see myenv-notify.cpt, which can be found at various archive sites under the name 'myenv-notify'. The source also uses graylib class library to handle images, recently posted on comp.source.misc. However, the library is not *very* used; one can easily get around without it with only small modification of the code. Comments-to: oleg@ponder.csci.unt.edu, oleg@unt.edu Many-Thanks-To: Tim Clarke, tjc1005@hermes.cam.ac.uk (for inspiration) Explanation: Just fire it up, sit back and enjoy. Hope you'll get some feeling that you're hovering over or flying through the clouds. If you quit the program and start it over again, you'll get different clouds (which might be much better and more interesting to fly around). If you want to take on a more active role, hold the mouse button down and move the mouse. Then your flight is in your own hand (which holds the mouse). You have to keep the mouse button down all the time you want to control the situation: when mouse button is up, the system flies by itself. You can also use the keyboard: arrows left/right/up/down move you around, PgUp/PgDn changes your altitude (or height of the horizon if pressed with "Option"); all other keys quietly kill the program (you can also quit by clicking the close box of the window). This program is inspired by "MARS.EXE" and its description posted in rec.games.programmer. There, the author of Mars, Tim Clarke, explained its guts, though he didn't give detailed equations and there were a few typos in his post. Source file 'project_3D.cc' in the present submission contains the fullest description (I could come up with) of the 3D rendering technique: with background, equations, pseudocode and the actual code (and tricks with the fixed-point arithmetics: hey, no floating-point numbers are in here). If you need further information or details, mail me. Enclosers: Venus.cpt.hqx ------------------------------------------------------------------------ #### BINHEX floating-windows-pas.hqx **** From: pottier@clipper.ens.fr (Francois Pottier) Subject: no subject (file transmission) Date: Sat, 19 Jun 93 12:53:34 MET DST Hi archiver! This is a small set of THINK Pascal 4 routines to handle floating windows in a Pascal program. A few days back I looked on several ftp sites for such code snippets. All I found was a C library by Patrick Doane. I translated it to THINK Pascal and I also made it much shorter and clearer (IMHO). Since there is no Pascal source code out there, I thought I'd submit to the archives. This code is public domain. Whoever finds it useful may use it. Enjoy Francois Pottier pottier@clipper.ens.fr To the archiver : this file should be named something like 'Pascal-FloatWin.hqx', I suppose. Thanks #### BINHEX fmenus-example-pas.hqx **** Date: Tue, 24 Nov 1992 13:45:06 +0800 From: Peter N Lewis <peter@ncrpda.curtin.edu.au> Subject: source/pascal/FMenusExample.hqx _______________________________________________________________________ Peter N Lewis <peter@ncrpda.curtin.edu.au> Ph: +61 9 368 2055 This is some example code to demonstrate the use of MyFMenus.unit. This unit implements FMenus in a similar way to the Finder, which allows decoupling of the menu position from the code that executes the menu's command. The example program is not a full shell, it simply implements the Menus, and each menu selection prints a message to the console window. It should be fairly easy to understand. I've used this code in several programs, and it works quite nicely, avoiding the need to keep changing constants in the code every time you add a menu item. TopSoft is working on an advanced version of this (written in C for some strange reason), if you are interested in that, or other things that TopSoft is doing, check out the ftp site at syrinx.kgs.ukans.edu in the /topsoft directory, or ask to join the mailing TS mailing list at ts-request@syrinx.kgs.ukans.edu (hopefully you'll join inbetween the flame wars and not in the middle of one :-) [Wouldn't it be nice if this came out comp.sources.mac? Too much to ask I guess] Hope its useful to someone, Peter. <peter@ncrpdao.curtin.edu.au> FMenus Example v1.0.0 Copyright 1992 Peter N Lewis #### BINHEX fss-nshell.hqx **** Date: Sat, 20 Aug 1994 05:22:25 -0700 (PDT) From: John Jensen <jjensen@kaiwan.com> Subject: nShell "fss" command and C source This package contains a new "fss" command (and its source code) for the nShell(tm). This command allows to users to easily display the file system specification (FSSpec) for files and folders. The nShell is a traditional scripting environment for the Apple Macintosh. The shell is available in two forms. A light version, called nShell(tm), is freely distributable for non-commercial purposes. A second version, called nShell-Pro(tm), is available as a commercial product. Our goal is to make the shell environment available to as many users as possible, while providing serious users with the support and reliability of a full commercial product. A programmer's guide to the nShell, with example source code, is available separately. You may distribute unmodified copies of nShell(tm) commands for noncommercial purposes. All other rights are reserved. nShell and nShell-Pro are trademarks of Newport Software Development. Apple and Macintosh are registered trademarks of Apple Computer, Inc. Other brands and their products are trademarks of their respective holders. Contact: John Jensen EMail: jjensen@aol.com, jjensen@kaiwan.com, or jjens@eworld.com Mail: Newport Software Development, P.O. Box 1485, Newport Beach, CA 92659 #### BINHEX fudd-10-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Fudd 1.0 (source code) (repost) Date: Mon, 7 Feb 1994 23:13:56 -0500 (EST) (This is a repost of the source archive I posted recently. The last archive was missing a few files; this should have everything.) Fudd is a small utility to convert text files to Elmer Fudd talk, like the character of the same name in the U.S. cartoon "Bugs Bunny." Supports drag and drop of any number of text files of any length. This archive contains complete THINK C source code, project files, and resource files. Application also available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for complete program list. Copyright (C) 1994, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. #### BINHEX game-master-isolation-pas.hqx **** From: gurhs@uniwa.uwa.edu.au (Rhys Hollow) Subject: source/pascal/Isolation-rulebook.hqx Date: Wed, 13 May 92 21:49:08 WST The Moderators, Here is the source to the GameMaster rulebook Isolation. It assumes the user has the GameMaster developer's kit. It is in Think Pascal 4.0 Rhys. -- Rhys Hollow (gurhs@uniwa.uwa.oz.au) "ee'er by gum he's a bad'un!" -DangerMouse. #### BINHEX gamma-fading-lib-112-c.hqx **** From: <fprefect@engin.umich.edu> Date: Tue, 9 Nov 93 02:49:25 -0500 Subject: Gamma Fade THINK C Libs v1.1.2 This is an updated post of my Gamma Fade THINK C library, bringing it to v1.1.2. The only change is a bug fix to bring compatibility with EvenBetterBusError init. For those not initiated, Gamma Fades will ramp your Mac II monitor brightness to black and back smoothly (ala Maelstrom). The test app will demo the effect. The library is free... Matt Slot fprefect@engin.umich.edu [Note to Moderator: The previous posting (v1.1.1) from earlier tonite should be removed from the queue. This fixes an important bug - Thanks MJS] #### BINHEX gamma-table-11-p.hqx **** Date: Wed, 21 Jul 1993 10:16:09 -0800 From: mxmora@unix.sri.com (Matthew Xavier Mora) Subject: Gamma Util Pascal Library I converted Matt Slot's Gamma Library so that it can be used by Pascal programmers like me. Enclosed is Gamma util Pascal Library. This lets you do screen dimming on monitors capable of doing dimming. Matt __________________________________________________________________ Matthew Xavier Mora The keeper of the UMPG SRI International Matt_Mora@QM.sri.com [Sent using Eudora 1.3] mxmora@unix.sri.com __________________________________________________________________ #### BINHEX ghost-10-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Ghost 1.0 (source code) Date: Thu, 16 Dec 1993 04:10:10 -0500 (EST) Ghost is a classic word-building game for two or more players. Players take turns each adding a letter to build a word, and whoever finishes the word loses the round. Lose five rounds, and you become a "ghost" and are out of the game! Up to five human players can compete against up to five computer players at a variety of skill levels. Ghost is free and is distributed under the GNU General Public License; this archive contains complete THINK C source code for the game, as well as complete source code for an external application used to set up the game's self- integrity checker. If you do not have FTP access, e-mail the author requesting a copy of the game, the source code, or a list of other programs by the same author. The address is f8dy@netaxs.com. Bug reports, comments, and suggestions may be sent to the same address. This archive contains both THINK C 5 and THINK C 6 project files. Use whichever one you wish and throw away the other. The code demonstrates the basics of event handling, menus, hierarchical menus, prefs file maintenance, dialogs, alerts, windows, off-screen bitmaps, synchronous and asynchronous sounds, machine-independent timing loops, file maintenance, Gestalt environment checking, apple events, and the not-quite- yet-famous "cough to continue" modal dialog filter proc. None of this is very well commented, but feel free to direct any questions to f8dy@netaxs.com. Ghost 1.0 is copyright 1993, Mark Pilgrim, MerriMac Software Group. #### BINHEX ghost-mouse-11-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Ghost Mouse 1.1 (source code) Date: Sat, 13 Nov 1993 23:35:30 -0500 (EST) Ghost Mouse is a fun little INIT which will cause your mouse to disappear if you stop moving it. Due to numerous requests from users of version 1.0, the mouse can stay stationery for about 2 seconds before it disappears. This INIT is free and is distributed under the GNU General Public License; this archive contains complete THINK C 6.0.1 source code and project files for the INIT. If you do not have FTP access, e-mail the author for a copy of the INIT, the source code, or a list of other programs by the same author. The address is f8dy@netaxs.com. This code demonstrates the basics of writing and installing a VBL. This code should work under any system, with any monitor, on all Macintoshes. Please report any bugs/comments/suggestions to f8dy@netaxs.com. Ghost Mouse 1.1 is copyright 1993, Mark Pilgrim, MerriMac Software Group. #### BINHEX gms-10b2-o.hqx **** Subject: GMS1.0b2 (music w/ QT2.0 library) Date: Wed, 21 Sep 1994 19:05:01 -0600 (CST) From: "Glenn Andreas" <gandreas@mirage.skypoint.com> Enclose is GMS1.0b2, a library for adding background music with QuickTime 2.0 to your programs (QT 2.0 not included). It is a .o file that can be linked with most any compiler (it was written in TP) There are six simple calls (init, de-init, idle, suspend, resume, and play) that provide a simple way to use the music playing components. Once set up, playing music is a simple as playing a sound resource (simpler, actually). Includes a utilities to convert MIDI files to "Musi" resources (it doesn't play MIDI files directly). This is a "companion" library to the Oct MacTech article on QT Music. If you want to include this library in your application, all I ask is a copy and credit in the about box... Glenn (yes, I'm still working on Chimera) Andreas gandreas@aol.com #### BINHEX gnu-bison-122-c.hqx **** From: Scott Hofmann <scotth@visix.com> Subject: GNU Bison 1.22 THINK C 6.0 port Date: Thu, 11 Aug 1994 17:38:36 -0400 (EDT) This is a minimal port of the GNU YACC-compatible parser generator Bison, version 1.22, for Symantec's THINK C 6.0. A compiled application is included, so you don't need THINK C in order to use Bison (although it won't do you much good if you can't then compile y.tab.c!) Please direct any questions concerning Mac specifics to myself rather than the GNU people - they don't like Apple much, and will just lecture you on the evils of Apple. scott ------------------------------------------------------------------------------- J. Scott Hofmann | "Back off, man, I'm a scientist!" scotth@visix.com | -Dr. Peter Venkman, _Ghostbusters_ #### BINHEX gnu-flex-246-c.hqx **** From: Scott Hofmann <scotth@visix.com> Subject: GNU Flex 2.4.6 for THINK C 6.0 Date: Tue, 26 Jul 1994 12:01:24 -0400 (EDT) This is GNU Flex version 2.4.6 compiled in Symantec C++ 6.0. Flex is the GNU lex-compatible lexical analyzer. This version is a minimal port to the Macintosh - the only changes were to call ccommand() in main() to get the command-line arguments. This file replaces the THINK-C version of Flex 2.3.7. A compiled application is included, so you do not need Symantec C++ in order to use Flex 2.4.6. Full documentation is included, as are the sources per the GNU Public License. Macintosh-specific release notes are included in flex-2.4.6:MISC:Macintosh. I am currently working on a CodeWarrior port, with an enhanced front end - not just the ccommand() dialog box. Any other questions, please drop me a line. scott ------------------------------------------------------------------------------- J. Scott Hofmann | "Back off, man, I'm a scientist!" scotth@visix.com | -Dr. Peter Venkman, _Ghostbusters_ #### BINHEX gnu-gdbm-173-c.hqx **** From: tsyang@dec-5.CE.Berkeley.EDU (Tzong-Shuoh Yang) Subject: GNU gdbm-1.7.3: a database manager Date: Mon, 23 May 94 00:48:24 -0700 Hello, This is the mac port of GNU gdbm-1.7.3 database manager. The Think C 7.0 source code is included. This is GNU free software. Have fun. Tzong-Shuoh Yang (tsyang@ce.berkeley.edu) ==================================================================== #### BINHEX gnuplot-35-c.hqx **** From: laval@londres.cma.fr (Philippe LAVAL) Subject: Gnuplot 3.5 for Macintosh Date: Fri, 10 Dec 1993 13:45:41 +0100 Hello, Find inclosed a version for macintosh of Gnuplot 3.5 It as bee compacted and binhexed by CompactPro 1.33. The sources are for Think C 5.04 but compile as well with Think C 6.0 Bye #### BINHEX go-sit-in-the-corner-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Go Sit In The Corner (source code) Date: Sun, 16 Jan 1994 23:58:43 -0500 (EST) Go Sit In The Corner will make your cursor jump to a corner of the screen after a specified amount of time. Completely configurable control panel (which corner, how long before it jumps, whether it only jumps after a period of inactivity). This archive contains complete THINK C source code and project files. The INIT alone is also available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for complete program list. Copyright (C) 1994, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. #### BINHEX graf-sys-20-p.hqx **** From: cfranz@iiic.ethz.ch (Christian Steffen Ove Franz) Subject: GrafSys 2.0 Submission Date: Wed, 26 Jan 1994 18:50:51 --100 Dear Moderators, enclosed please find GrafSys 2.0. Please note that the 2.0 release does not replace the 1.x version since it is very different. What is 3D GrafSys 2.0 ====================== GrafSys is a hierarchical object-oriented class library for THINK Pascal. It is designed to facilitate easy 3D graphics and animations in your programs. GrafSys supports full 3D control of graphical objects and electronic eye. Graphical objects can be independently rotated (around arbitrary axes), translated and scaled. Objects can inherit transformations (rotation, scaling and translation) from other objects. GrafSys supports dynamic (i.e. on-the-fly) and multiple inheritance of transformations and an unlimited number of so-called operators (matrices) per object. The GrafSys provides objects for 3D points, lines and whole objects that can contain up to 8000 lines in full RGB color and more than 250'000 points. GrafSys also supports ultra-fast polygon filling using the triangulation approach. With it you can easily implement hidden-surface removal. Designed for fast and simple to program animations, GrafSys supports an AutoErase feature where the object automatically erases its previous image before redrawing itself. For flicker-free animations GrafSys also provides easy to use Off-Screen bit map handling. GrafSys is a combination of procedures and a powerful, extensible class library that can be easily curtailed to your specific needs. For example the general-purpose 3D object 'TSObject3D' understands over fifty messages for such diverse things as building a point/line database, rotating and drawing itself. The 2.0 version comes with full source code. Christian Franz #### BINHEX graf-sys-triangle-p.hqx **** From: cfranz@home.malg.imp.com Subject: GrafSys 2.0 Triangle Files [part 1 of 1] Date: Mon, 28 Feb 94 21:18:57 +0100 Organization: Christian is currently at home. Dear moderators, a few weeks ago I submitted GrafSys 2.0, a 3D Graphics Library and animation tool. Many people have told me that I forgot to include the library files for the triangle project. You need these files in order to re-compile the library. Well, here they are. Liva and in stereo :-) Cheers, Christian --- cfranz@home.malg.imp.com Voice: + 1 / 261 26 96 Christian Franz - Sonneggstrasse 61 - CH-8006 ZUERICH - Swizerland -- cut here -- begin GrafSys-C-lib-int.hqx -- part 1 of 1 -- #### BINHEX graphic-elements-2-c.hqx **** From: Al Evans <al@crucible.powertools.com> Subject: Graphic Elements R2 submission Date: Mon, 27 Jun 94 15:58:01 CDT Enclosed is the second network release of Graphic Elements. This release should be stored under /mac/development/libraries as GraphicElements2.sit.hqx. It supercedes the previous version, stored as /mac/misc/demo/graphicelementsdemo.sit.hqx, which should be removed from the archives. Here is a brief description for this version: Graphic Elements is a paradigm and a library for programming high-performance, framework-independent interactive graphics for the Apple Macintosh. This second release of Graphic Elements features scaleable GEWorlds, improved collision handling, and a versatile special-effects module. Graphic Elements requires a 68020 or better and 8-bit color capability. The example programs require System 7 or better. Either Metrowerks CodeWarrior DR3 or Think C 7.x is required to modify and rebuild the example programs. The binhexed file follows. ---cut here-- #### BINHEX gravity-mouse-11-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Gravity Mouse 1.1 (source code) Date: Sat, 13 Nov 1993 23:33:23 -0500 (EST) Gravity Mouse will cause your mouse to be occasionally overcome by gravity. This INIT is free and is distributed under the GNU General Public License; this archive contains complete THINK C 6.0.1 source code and project files for the INIT. If you do not have FTP access, e-mail the author for a copy of the INIT, the source code, or a list of other programs by the same author. The address is f8dy@netaxs.com. This code demonstrates the basics of writing and installing a VBL. This code should work under any system, with any monitor, on all Macintoshes. Please report any bugs/comments/suggestions to f8dy@netaxs.com. Gravity Mouse 1.1 is copyright 1993, Mark Pilgrim, MerriMac Software Group. #### BINHEX halma-12-c.hqx **** From: f8dy@netaxs.com Subject: Halma 1.2 (source code) Date: Fri, 15 Jul 1994 01:22:29 -0400 (EDT) Halma 1.2 is a solitare board game in which you must move nine tiles from one corner of the board to the other in the minimum number of moves. 21 unique boards in all. This version fixes several technical bugs and revamps the help section interface. This archive contains the complete THINK C 7 project and resource files. Application also available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for complete program list. Copyright (C) 1994, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. #### BINHEX headlines-101-c.hqx **** From: k044477@hobbes.kzoo.edu (Jamie R. McCarthy) Subject: Headlines 1.0.1 code Date: Mon, 23 Nov 92 9:22:20 EST This is the source code for the After Dark module "Headlines," version 1.0.1. I don't know whether it's legal to redistribute two of the source files I used. For that reason, I've not removed the object code for those files, and have included only their header files. They are ATMInterface.c and NeoTextBox.c. If anyone can advise me about the legality of distributing these sources, I'd like to hear from them. In any event, you'll probably need to keep the project file and not "Remove Objects" if you want to successfully compile Headlines. Note that this submission does not include the code to Greg Smith's "spew," which was the basis for Headlines. This is only because Greg's distribution terms precluded putting this on e.g. Pacific HiTech's Info-Mac CD-ROM. My own terms, now, are a little looser. I ftp'd the source to "spew" from wuarchive.wustl.edu, in /usenet/comp.sources.games/volume01, where it probably still is. -- Jamie McCarthy Internet: k044477@kzoo.edu AppleLink: j.mccarthy #### BINHEX hermes-2-30-headers-p.hqx **** Date: Sun, 17 Jul 94 18:56 EDT From: michael.krause@exchange.org (Michael Krause) Subject: THINK Pascal Hermes Headers Files for v3.0 II --========================_12538956==_ Content-Type: text/plain; charset="us-ascii" Hermes programming headers in THINK Pascal for Hermes II v3.0 --========================_12538956==_ Content-Type: application/mac-binhex40; name="HermHeaders_II_3.0.p" Content-Disposition: attachment; filename="HermHeaders_II_3.0.p" #### BINHEX hier-menu-demo-c.hqx **** From: kenlong@netcom.com (Ken Long) Subject: hiermenudemo.sit.hqx Date: Sat, 25 Dec 1993 09:32:30 -0800 (PST) This is a heirarchial menu demo I downloaded off BMUG, then made run on Think C 5.0.4. It teaches how to make hierachial menus by "hot wiring" them, as the ones in the Symantec Think C demo project "Bullseye." It uses a resource only for the 'ICON' and 'ALRT' resources, but if someone wants to use a 'cicn' they need only dump the 'ICON" and put in a 'cicn' of the same ID. The 'cicn's can be from 8 x 8 pixels to 64 x 64 pixels or anything in between. An 8 pixel high by 64 pixel wide 'cicn' with a space for the menu name is a unique format. The following is the original readme content. --------------------------------------------------------------- Program name: Hier Menu Demo Author: Ted C. Johnson, Sun, Aug 14 1988. Compilation instructions: use Lightspeed C, v.2.15. This program DOES use a resource file. I developed this program on a Mac SE HD20 running System/Finder 4.1/5.5. Summary: This program demonstrates how to use hierarchical menus. It also demonstrates how to handle DA's, how to make your own "About…" box (with an icon), and how to use dialog boxes. The use of this source code is free, provided it is for non-profit purposes. I hope it can save someone some time! However the name "T Bear Software" and the T Bear icon are both CopyRight © 1988 by Ted C. Johnson, and may NOT be used without my express written permission. ---------------------------------------------------------------- #### BINHEX hotlist-to-html-061-f.hqx **** From: weimann@sc.ZIB-Berlin.DE (Lutz Weimann) Subject: Hotlist-to-html (Updated version) Date: Thu, 17 Feb 1994 16:37:02 -0600 --========================_13934540==_ Content-Type: text/plain; charset="us-ascii" This is an updated version of Hotlist2HTML, which should replace the following two files: "cmp/hotlist-to-html.hqx" and "dev/src/hotlist-to-html-f.hqx". Thanks. This is Version 0.6.1 of Hotlist2HTML, a bug fix and additional small change to Version 0.6. 16. 2.94 V. 0.6.1 Corrected a bug which caused the program to produce bad output if URLs or menu-items longer than 127 character happen to appear in the Hotlist file. Creator of the HTML output file changed to ttxt (e.g.Teachtext). The program Hotlist2HTML converts a MacMosaic Hotlist (resource) file to a HTML-page, wherein each URL of the Hotlist is associated with it's corresponding Menu-Item name. The program should run on any Macintosh were System 7 is installed. The Fortran source is included. You need Language Systems Fortran 3.x and MPW 3.2 (or 3.2.3) to make use of the it. Lutz Weimann date: 16.02.94 e-mail: weimann@zib-berlin.de --========================_13934540==_ Content-Type: application/mac-binhex40; name="Hotlist2HTML.sit" Content-Disposition: attachment; filename="Hotlist2HTML.sit" #### BINHEX hyper-cuber-20-cpp.hqx **** From: gregt@math.ohio-state.edu (Greg Ferrar) Subject: HyperCuber 2.0 Source Code Date: Fri, 6 May 1994 16:12:55 -0400 --========================_19455036==_ Content-Type: text/plain; charset="us-ascii" HyperCuber 2.0 Source Code by Greg Ferrar This contains the source code to HyperCuber 2.0, a freeware program which can display and rotate objects of arbitrary dimension. HyperCuber 2.0 is available separately from major Mac ftp sites, and includes complete documentation. HyperCuber 2.0 was written using Symantec C++ 6.0, which is a really nice programming environment (7.0 is in the mail...). You should be able to compile and run it immediately. I have not made any special attempt to prepare this code for distribution, so it appears here exactly as I wrote it. I tried to write clear and well-documented code, but I don't guarantee anything. I especially don't guarantee that it all works properly, though I know of no blantant bugs. If you have any questions about my code, feel free to send me email at gregt@math.ohio-state.edu. I will do my best to explain what I have written. -Greg Ferrar (gregt@math.ohio-state.edu) --========================_19455036==_ Content-Type: application/mac-binhex40; name="HyperCuber_2.0_Source.sit" Content-Disposition: attachment; filename="HyperCuber_2.0_Source.sit" #### BINHEX image-144-pas.hqx **** Date: Thu, 18 Jun 92 10:20:03 -0400 From: wayne@zippy.nimh.nih.gov(Wayne Rasband) Subject: NIH Image 1.44 Source(Binhex) This is the Think Pascal source code for Image 1.44, a public domain Mac program for capturing, analyzing, editing, annotating, animating, and printing images. It consists of 32,853 lines of source code in 20 modules. --wayne rasband(wayne@helix.nih.gov) #### BINHEX inc-dec-nshell.hqx **** Date: Thu, 20 Oct 1994 07:33:35 -0700 (PDT) From: John Jensen <jjensen@kaiwan.com> Subject: nShell(tm) "inc" and "dec" commands This package contains new "inc" and "dec" commands (and their source code) for the nShell(tm). These commands add or subtract offsets from shell variables. This is useful in controlling loops within shell scripts. The nShell is a traditional scripting environment for the Apple Macintosh. The shell is available in two forms. A light version, called nShell(tm), is freely distributable for non-commercial purposes. A second version, called nShell-Pro(tm), is available as a commercial product. Our goal is to make the shell environment available to as many users as possible, while providing serious users with the support and reliability of a full commercial product. A programmer's guide to the nShell, with example source code, is available separately. You may distribute unmodified copies of nShell(tm) commands for noncommercial purposes. All other rights are reserved. nShell and nShell-Pro are trademarks of Newport Software Development. Apple and Macintosh are registered trademarks of Apple Computer, Inc. Other brands and their products are trademarks of their respective holders. Contact: John Jensen EMail: jjensen@aol.com, jjensen@kaiwan.com, or jjens@eworld.com Mail: Newport Software Development, P.O. Box 1485, Newport Beach, CA 92659 #### BINHEX incognito-12b2-cp.hqx **** From: veloso@netcom.com (Manuel Veloso) Subject: Incognito 1.2b2 src Date: Thu, 30 Jun 1994 04:30:11 -0500 --========================_23878752==_ Content-Type: text/plain; charset="us-ascii" Hi there, attached is the source to incognito 1.2b2. Requires CFront and MPW. All files necessary to compilation are included. Incognito is an init/cdev that lets you to bypass network-based copy protection. This allows you to use KeyServer, Quota, or some other licence management program on serialized programs such as Photoshop, Director, etc. Freeware. --========================_23878752==_ Content-Type: application/mac-binhex40; name="Incognito_1.2=2_src.sit" Content-Disposition: attachment; filename="Incognito_1.2=2_src.sit" #### BINHEX infinity-windoid-wdef-26-c.hqx **** From: t-gaul@i-link.com (Troy Gaul) Subject: Infinity Windoid WDEF 2.6 Date: Thu, 7 Apr 1994 00:07:00 -0500 --========================_19949292==_ Content-Type: text/plain; charset="us-ascii" This archive contains resource files and the source for a standalone code resource that conforms to a Window Definition (WDEF), as defined by Apple Computer in Inside Macintosh. It provides a 'windoid' appearance. A windoid is a floating window that appears above document windows in an application and is commonly used for things such as tool palettes, information windows, and the like. FEATURES: - Supports System 7-style coloring of windows. - In System 7, the tinge color set by the user in the Color control panel is used. - Supports a zoom box and/or grow box. - Title bar can appear along the left of the window as well as across the top. - For MacApp & THINK Windoid users, the behavior of the Windoid WDEF can be switched to conform directly to one of those WDEFs. - System 6 coloring scheme (which can be set in Kolor or a similar control panel) is also supported. - A DeviceLoop is used so the Windoid will be drawn correctly even when it crosses monitors of differing depths. - In System 7, indexed color tables are checked to see if there are enough different colors to display the color version (like the system WDEF). - Optionally allows a title in the titlebar. - Full source code included (compatible with MPW C and THINK C) - No usage fees CHANGES IN VERSION 2.6 - Now has support for making a fat binary version of the Infinity Windoid WDEF (provided you have the Apple MPW-based tools for doing so). - Added a one-pixel slop to the hit testing on the titlebar gadgets to make them easier to hit. - The appearance of the titlebar when dimmed with a custom window color table now matches that of the System WDEF. A handful of other changes were also made to the code to make the appearance with custom wctb's the same as that of the System WDEF. - Made the titlebar revert to black-and-white on those PowerBooks in which this is necessary to make the appearance match that of the Apple WDEF. - Added an option to have the zoom box be positioned so that it always hits the pattern the same way as the close box. - Added an option to make a small version of the grow box. - Fixed a problem with compiling under Metrowerks Code Warrior which caused mixed colors to be calculated incorrectly. - Started including a Code Warrior project file for compiling the WDEF. - Now uses UniversalProcPtrs to support PowerPC. _Troy Gaul Infinity Systems t-gaul@i-link.com --========================_19949292==_ Content-Type: application/mac-binhex40; name="Infinity_Windoid_WDEF_2.6.sit" Content-Disposition: attachment; filename="Infinity_Windoid_WDEF_2.6.sit" #### BINHEX init-example-cw.hqx **** From: Gordon Watts -- U of Rochester <GWATTS@WHCDF.FNAL.GOV> Subject: FWD: INIT, globals, multisegments in CW Date: Tue, 15 Mar 1994 8:37:56 -0600 (CST) From: SMTP%"cwarrior@netcom.com" 15-MAR-1994 07:22:52.80 To: GWATTS CC: Subj: INIT, globals, multisegments in CW Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="========================_27555112==_" Date: Tue, 15 Mar 1994 07:25:51 -0500 To: cwarrior@netcom.com From: joe zobkiw <zobkiw@datawatch.com> Subject: INIT, globals, multisegments in CW Message-Id: <9403150724.aa05115@gateway.datawatch.com> Sender: owner-cwarrior@netcom.com Precedence: list Reply-To: cwarrior@netcom.com --========================_27555112==_ Content-Type: text/plain; charset="us-ascii" At the expense of being flamed off the face of the earth...these two files I am sending are small and have been requested by numerous people. I will post them here this one time. If anyone wants to submit them to macgifts, please do so. The first is an INIT written in CW that shows how to use their A4 stuff, as well as handle patching a trap, multi-segments, etc. Enjoy. --========================_27555112==_ Content-Type: application/mac-binhex40; name="Warrior_INIT_folder.sit" Content-Disposition: attachment; filename="Warrior_INIT_folder.sit" #### BINHEX irc-client-c.hqx **** Date: Fri, 23 Jul 93 13:39:08 MET DST From: Olaf Titz <s_titz@ira.uka.de> This is a Macintosh IRC (Internet Relay Chat) client. It allows you to talk to people all over the world over the Internet. It will run on any Mac with System version 6.0 or greater and the MacTCP driver, version 1.0 or greater. This is free software according to the GNU General Public License (any version). Refer to the file COPYING for precise terms and conditions. This package contains complete source code and auxiliary files for building the binary with THINK Pascal 2.0.1 or later versions. Portions are Copyright 1992 Peter N.Lewis, read the notices in the TCP Libraries files. Send comments, suggestions, bug reports etc. to: Olaf Titz <s_titz@ira.uka.de> #### BINHEX ircle-151-p.hqx **** Date: Thu, 25 Nov 93 17:39:09 MET From: Olaf Titz <s_titz@ira.uka.de> Subject: ircle 1.5.1 source This is a Macintosh IRC (Internet Relay Chat) client. It allows you to talk to people all over the world over the Internet. It will run on any Mac with System version 6.0 or greater and the MacTCP driver, version 1.0 or greater. This is free software according to the GNU General Public License (any version). Refer to the file COPYING for precise terms and conditions. This package contains complete source code and auxiliary files for building the binary with THINK Pascal 2.0.1 or later versions. Portions are Copyright 1992 Peter N.Lewis, read the notices in the TCP Libraries files. Send comments, suggestions, bug reports etc. to: Olaf Titz <s_titz@ira.uka.de> #### BINHEX jotto-ii-11-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Jotto ][ 1.1 Date: Tue, 7 Jun 1994 18:45:55 -0400 (EDT) Jotto ][ 1.1 is a word game based on logic and frustration. The computer picks a random word (5 or 6 letters) and you have fifteen tries to guess it. Similar to Mastermind. Improvements in version 1.1: added a note pad, new help system, many technical improvements. This archive contains the complete THINK C 7 project and resource files. Application also available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for complete program list. Copyright (C) 1993-4, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. #### BINHEX jpeg-convert-c.hqx **** Date: Sat, 27 Feb 93 12:26:45 CST From: wf-jim!brunner@terminator.rs.itd.umich.edu (Jim Brunner) Subject: source/c/JPEG-Convert-src10.hqx This is the source code distribution for version 1.0 of JPEG Convert. JPEG Convert is a Macintosh application that acts as an interface for the Independent JPEG Group's code. The Independent JPEG Group's code supports JPEG conversion to different formats. This distribution file contains source code only. The pre-compiled application is available under a separate distribution. This distribution does not contain the source for the Independent JPEG Group's software; instructions for obtaining the IJG source are included in this distribution. Features: * Supports system 6 or 7 * Converts JPEG file to/from GIF, PPM, & TARGA * RLE support available (not in default distribution) * Supports quantization, dithering, smoothing, grayscale * Supports batch drag & drop conversion with system 7 * Balloon help and nifty dialogs * SOURCE CODE IS AVAILABLE (separate distribution) ----------------------------------------------------------------------- Jim Brunner (brunner%wf-jim.uucp%hobbes.uucp@twerp.ease.arco.com) #### BINHEX kant-generator-04-c.hqx **** From: Info-Mac Moderator <macmod> Date: Thu, 29 Sep 94 6:26:19 PDT 8.6.8.1/8.6.5) with ESMTP id TAA07958 for <info-mac@sumex-aim.stanford.edu>; Wed, 28 Sep 1994 19:45:52 -0700 From: f8dy@netaxs.com Received: from unix1.netaxs.com (f8dy@unix1.netaxs.com [198.69.186.3]) by netaxs.com (8.6.9/8.6.9) with ESMTP id WAA05357 for <info-mac@sumex-aim.stanford.edu>; Wed, 28 Sep 1994 22:45:46 -0400 Received: (f8dy@localhost) by unix1.netaxs.com (8.6.9/8.6.9) id WAA13119 for info-mac@sumex-aim.stanford.edu; Wed, 28 Sep 1994 22:45:41 -0400 Message-Id: <199409290245.WAA13119@unix1.netaxs.com> Subject: Kant Generator 0.4 beta source code To: info-mac@sumex-aim.stanford.edu (archive gods) Date: Wed, 28 Sep 1994 22:45:38 -0400 (EDT) X-Mailer: ELM [version 2.4 PL22] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 177817 Kant Generator 0.4 beta is a completely pointless program which generates text that vaguely resembles Immanuel Kant's _Critique of Pure Reason_. Anyone who has been subjected to Kant, voluntarily or otherwise, will appreciate the humor in this. This archive contains the complete Metrowerks DR/4 project and resource files. The application itself is also available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for my complete program list, or peruse my home page at http://www.netaxs.com:8080/~f8dy for details about other programs I've written. Copyright (C) 1994, Mark Pilgrim. Please read the enclosed file "GNU General Public License" for licensing details. #### BINHEX key-cap-app-c.hqx **** Return-Path: <mxmora@unix.sri.com> Received: from unix.sri.com by CAMIS.Stanford.EDU (4.1/inc-1.0) id AA10262; Mon, 3 Jan 94 10:07:20 PST Received: from [128.18.30.80] (xavier.sri.com) by unix.sri.com (4.1/SMI-4.0) id AA04702; Mon, 3 Jan 94 10:07:58 PST Message-Id: <9401031807.AA04702@unix.sri.com> X-Sender: mxmora@128.18.30.66 Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Mon, 3 Jan 1994 10:08:03 -0800 To: info-mac-request@sumex-aim.stanford.edu From: mxmora@unix.sri.com (Matthew Xavier Mora) Subject: Please remove KeyCappApp2.0 Please remove the archive keycappapp2.0. The orignal author of the source code doesn't want it posted. Thanks Matt __________________________________________________________________ Matthew Xavier Mora (cybernaut) The keeper of the UMPG SRI International Matt_Mora@QM.sri.com [Sent using Eudora 2.0.0] mxmora@unix.sri.com - - Programming is an Art not a Science - - __________________________________________________________________ #### BINHEX kill-drive-c.hqx **** From: Todd Wilson <tdwilson@freenet.columbus.oh.us> Subject: Disabling floppy drive (prog+source) Date: Wed, 15 Jun 1994 12:33:09 -0500 --========================_13547488==_ Content-Type: text/plain; charset="us-ascii" This is a very simple hack that can disable the floppy drives on a Mac. Not bullet proof by any means, but may have some applications outside of my own system. Think C 7.0 project and source, along with application/extension. StuffIt Deluxe archive. --========================_13547488==_ Content-Type: application/mac-binhex40; name="Kill_Drive_=.sit" Content-Disposition: attachment; filename="Kill_Drive_=.sit" #### BINHEX launch-creator-c.hqx **** Date: Wed, 3 Nov 93 11:37:36 -0600 From: oleg@ponder.csci.unt.edu (Kiselyov Oleg) Subject: launch-creator.cpt - (source) get a file "double-clicked" from a running pgm What: get any file "double-clicked" from within a running program Contents: launcher.cc - code itself (commented) vlauncher.cc - verification routine Language: Symantec C++ 6.0 (though worked for Think C 5.0, too) System: System 7.x, but probably 6.x is OK, too. Note: needs standard environment, see myenv-notify.cpt Comments to: oleg@ponder.csci.unt.edu, oleg@unt.edu Explanation: This is a simple program that, given a file name, launches an application-creator and has it handle the file. If the file is an application, it is launched itself. The net result is exactly the same as if the user had double-clicked on the file. Synopsis void open_selection(const char * full_path_name) Where the 'full_path_name' tells the full path name of the file that should be "double-clicked". Though, a relative path name would do, too. The present program achieves the magic by sending an 'Open Selection' event to the Finder. It is significantly based on the FinderEvents stack by Jon Pugh and Apple Computer, Inc. (C) 1991-92 Apple Computer, Inc.) (which is written in Pascal and _very_ big and messy) ------------------------------------------------------------------------ #### BINHEX little-c.hqx **** Date: Mon, 4 Oct 93 23:34:51 -0700 From: tsyang@dec-9.CE.Berkeley.EDU (Tzong-Shuoh Yang) Subject: little_c.hqx - a C interpreter (Think C source) This is the Think C 6.01 version of Little_C -- a subset C interpreter by Herbert Schildt. Little C is a C interpreter that can execute a subset of K&R ANSI C programming language. ANSI C is a robust and powerful programming language, but the Little C interpreter only implements a limited range of features. These include: parameterized functions with local variables; recursion; if statement; do-while, while, and for loops; integer and character variables; global variables; integer, character, and string constraints; return statement; several library functions; several operators; functions returning integers; and comments. A recursive-descent parser is used to implement the C interpreter. Details of the development, coding, and functionality of the C interpreter are described in Schildt, Herbert. Building your own C interpreter. Dr. Dobb's Journal of Software Tools v14, n8 (August, 1989):38 (16 pages). The original source code can be obtained by anonymous ftp from sites with ddjmag archive, e.g. oakland.oak.edu. Enjoy. T. S. Yang (tsyang@ce.berkeley.edu) ================================================================ #### BINHEX load-a-drive-10-c.hqx **** From: "Dieter Spaar" <spaar@mirider.abg.sub.org> Subject: LoadADrive: Mount switched off CD-ROM without restart Date: Mon, 28 Mar 1994 12:53:54 +0200 Organization: MAC and PC Software developer in Germany LoadADrive V1.0 LoadADrive is a simple utility to mount a CD-ROM that wasn't switch on at startup without restarting your Macintosh. MPW C Source included. LoadADrive needs System 7 or higher and should work on every machine (Power PC ?). It has been tested with Apple CD-ROM 4.0.1 and 5.0. I don't know if LoadADrive works with other CD-ROM drivers. Just try it ! LoadADrive is Freeware. Commercial usage of LoadADrive must be licensed. March 1994 Dieter Spaar Schnerzhofer Str. 2 86865 Markt Wald GERMANY Internet: spaar@mirider.abg.sub.org #### BINHEX lose-your-marbles-10-c.hqx **** From: f8dy@netaxs.com Subject: Lose Your Marbles! 1.0 (source code) Date: Thu, 14 Jul 1994 03:34:19 -0400 (EDT) Lose Your Marbles! 1.0 is an infuriating board game in which you must fill a board (as small as 5 x 5, as large as 8 x 8) with marbles such that so row, column, or diagonal contains two of the same marble. Not as easy as it sounds... This archive contains the complete THINK C 7 project and resource files. Application also available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for complete program list. Copyright (C) 1994, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. #### BINHEX lp-daemon-332-c.hqx **** Date: Thu, 1 Apr 1993 09:52:57 +0800 (WST) From: "Casper A. Boon" <casper@mips.cs.murdoch.edu.au> Subject: lpDaemon332.src.cpt.hqx ---2039267323-721586092-733629388:#10490 Content-Type: TEXT/PLAIN; charset=US-ASCII Here are the THINK C 5.0.4 sources for version 3.3.2 of lpDaemon. This corrects a serious bug in version 3.3.1. #### BINHEX lp-daemon.hqx **** Date: Wed, 20 Jan 1993 15:15:41 +0800 (WST) From: "Casper A. Boon" <casper@mips.cs.murdoch.edu.au> Subject: lpDaemon - a BSD compatible printer daemon for the mac lpDaemon and LPR ---------------- lpDaemon is a utility that implements the Berkeley Line Printer Protocols on the Macintosh. It normally spools postscript file sent from a unix host and sends them to a LaserWriter on the Mac network. LPR is an lpDaemon client that submits jobs to a printer queue. Typically a text file is to a unix print queue. lpDaemon and LPR run under system 7 and require MacTCP. Casper Boon April 1993 =========================================================================== Casper A. Boon, casper@mips.cs.murdoch.edu.au Computer Science Programme, School of Mathematical and Physical Sciences, Murdoch University, South Street, PHONE: (09) 360 2790 Murdoch, Western Australia, 6150. OVERSEAS: +61 9 360 2790 =========================================================================== ---2039267323-721586092-733629388:#10490 Content-Type: APPLICATION/octet-stream; name="lpDaemon332.src.cpt.hqx" Content-ID: <Pine.3.05.9304010927.B10490@mips> Content-Description: #### BINHEX mac-ghostscript-252b3-c.hqx **** From: mwfong@NISC.SRI.COM (Martin Fong) Subject: MacGhostscript 2.5.2b3 Integrated Source Release Date: Tue, 15 Feb 94 18:40:38 PST 15 February 1994 This is a convenience re-release of MacGS 2.5.2b3 source code that includes the code for MacGS Menu INIT. If you've already gone through the trouble of integrating the incremental release of 2.5.2b3 into the MacGS 2.5.2b2 source code distribution, this release is identical. ...Martin Fong mwfong@nisc.sri.com Senior Software Engineer (415) 859-4251 SRI International, EJ209 333 Ravenswood Avenue Menlo Park, CA 94025 ------------------------------------------------------------------------ #### BINHEX mac-gzip-022-c.hqx **** Date: Sat, 23 Jul 94 00:07:23 +0100 From: "Jose A. Gutierrez" <MacSPD@ivo.cps.unizar.es> Subject: Upload MacGzip src (3) well, I forget to enclose the file in the previous mail (2). here it is _______________________________________________________________________________ Ian Malcolm in Jurassic Park: "Oh no. We're in the hands of engineers!" J.A. Gutierrez E. (engineer) _______________________________________________________________________________ #### BINHEX mac-mud-32-c.hqx **** Date: Fri, 26 Mar 1993 17:56:39 -0800 From: skelmir@uvapsy.psy.uva.nl (Mimir Reynisson) Subject: MacMud 3.2 source code Here is the source code for MacMud 3.2. A multi-user text based adventure game interpreter. See /info-mac/games/MacMud3.2.sea.hqx for details. ------------------------------------------------------------------------------ Mimir Reynisson Email: skelmir@uvapsy.psy.uva.nl Faculty of Psychology sg_Reynisson@macmail.uvapsy.psy.uva.nl University of Amsterdam rson@rhi.hi.is Roetersstraat 15 1018 WB Amsterdam Tel: (+31)20-525-6762 The Netherlands Fax: (+31)20-525-6710 #### BINHEX mac-rtrace-10-c.hqx **** Date: Tue, 10 Nov 92 11:36:30 EST From: reid@sunpix.East.Sun.COM (Reid Judd - Sun NC Development Center) Subject: [*] Submission: /info-mac/source/c/RTrace-1.0-src.cpt.hqx This is the source distribution for Mac-RTrace-1.0. It requires Think-C-5.0 to compile it and you can (optional) use the "Balloon Writer" from APDA in order to add the Balloon help to it once you've built it. About 50 scenes to use with RTrace are available in the file RTrace-1.0-scenes.cpt.hqx and more are available at the FTP site: asterix.inescn.pt [192.35.246.17] in the directory pub/RTrace. RTrace was written by Antonio Costa at INESC-Norte in Portugal. The MacIntosh version was written by Greg Ferrar at Ohio State and myself (Reid Judd at Illuminati). RTrace supports these capabilities: point lights, directional lights, spot lights with fall-off, extended lights, 2 ways of defining surfaces, spheres, axis-aligned parallelipipeds, cylinders, cones, bicubic patches, polygons, polygonal patches, high quality 3D text, CSG operations, 4x4 matrix transformations, textures, depth of field, diffuse distribution, stereoscopic pair creation, ... Procedural textures (with 4x4 matrix transformations) are also supported: checkerboard, color blotches, marble, bump map, fractal-brownian-motion, wood, glossy, image mapping, waves, and many others. Mac-RTrace uses parametric equations (using an algebraic equation parser) to define animations and it outputs PICT image, PPM images, and (of course) QuickTime movies. Enjoy, -- Reid Judd ILLUMINATI@AppleLink.Apple.Com 2617 Sweetbriar Rd. Durham, NC 27704 ----- Begin RTrace-1.0-src.cpt.hqx ----- 12-Nov-92 6:37:15-GMT,656601;000000000001 Return-Path: <macmod@SUMEX-AIM.Stanford.EDU> Received: from SUMEX-AIM.Stanford.EDU by CAMIS.Stanford.EDU (4.1/inc-1.0) id AA03183; Wed, 11 Nov 92 22:36:59 PST Full-Name: Info-Mac Moderator Received: by SUMEX-AIM.Stanford.EDU (4.1/inc-1.0) id AA22118; Wed, 11 Nov 92 22:36:56 PST From: macmod@SUMEX-AIM.Stanford.EDU (Info-Mac Moderator) Resent-Message-Id: <9211120636.AA22118@SUMEX-AIM.Stanford.EDU> Date: Wed, 11 Nov 1992 22:36:55 PST Resent-To: backmod@camis.stanford.edu Resent-Date: Wed, 11 Nov 1992 22:36:55 PST Resent-From: Info-Mac Moderator <macmod@sumex-aim.Stanford.EDU> Message-Id: <CMM.0.88.721550215.macmod@sumex-aim.Stanford.EDU> Apparently-To: backmod@camis #### TEXT mac-speech-p.txt **** Date: Sun, 22 Aug 1993 17:21:29 -0500 From: PAUL M SHELDON <psheldon@utdallas.edu> Subject: simple speech manager translation to pascal code I have little experience in C and was grateful for the posting, in C, of speech manager routine calls. It gave me an opportunity to make a simple exercise to value learning C in the future by the book. In the following, I paste my C to pascal code translation of a submission of a quick hack on this archive by Alan Coopersmith as /info-mac/dev/mac-speech-01.hqx. It was a lot of fun to figure this simple translation with a kid I mentor and then go on late into the night to make the compiling linking and execution work. I tried to comment the code with some of my hard won understanding. Perhaps this brief segment will improve others courage as it has mine. I had a lot of psychological inertia to get moving into enthusiastic momentum. I look forward to translating Alexander W. Kourakos' C demo with Paul Traue, my mentor-kid. Povl H. Pedersen has given me some reassurance. Notice what I am trying to say is this isn't much of a boast for me, just a sense of remarkable joy that I can hook into new system extensions from apple with pinterfaces. A few years ago the only guys I knew about #### BINHEX mac-starter-c.hqx **** From: David Eck <ECK%HWS.BITNET@Forsythe.Stanford.EDU> Subject: dev/src/mac-starter-c.hqx (new version) Date: 01 Feb 1994 10:50:28 -0500 (EST) This file should replace "dev/src/mac-starter-c.hqx" in info-mac. I have heard from several people who had trouble using MacStarter with THINK C 6.0. The problems seem to be caused by stricter type-checking of pointer types in version 6.0. The error messages will go away if you turn off the "Check Pointer Types" option in the options box for THINK C (under the Edit Menu), but there turn out to be a few actual errors (not just type problems) that should be corrected. So, I have updated MacStarter to work with THINK C 6.0, as well as with version 5.0, and corrected known errors. David Eck eck@hws.bitnet February 1, 1994 MacStarter is an application shell for writing quick, small programs in THINK C (5.0 or 6.0). If you are already a Mac programmer, you probably have written your own such shell. However, I am posting this to info-mac because: -- it might be useful for a C programmer who wants to get started writing programs with Mac interfaces without facing the darker parts of Inside Macintosh or the THINK Class library -- it uses a window class to provide the basic functionality of windows (This provides a concrete example of how objects can be used in THINK C. It is also a neat way of localizing the changes you need to make in the shell to produce a working program.) -- I have actually put in the time to write fairly detailed comments explaining how to use the shell #### BINHEX mac-starter-p.hqx **** From: David Eck <ECK@hws.bitnet> Subject: dev/src/mac-starter-pascal.hqx Date: Tue, 14 Dec 1993 17:32:13 -0600 --========================_13931840==_ Content-Type: text/plain; charset="us-ascii" MacStarter_Pascal: A Macintosh application shell for writing small-to-moderate programs with THINK Pascal 4.0, AND including "expression.p", which provides facilities for parsing and evaluating mathematical expressions such as "x~2+7" or "rate * sin(omega)". MacStarter_Pascal uses the object-oriented features of THINK Pascal to implement windows with the standard Macintosh behavior. The windows can contain "decorations" such as buttons and text-input boxes. A lot of comments are included in the source files, and the source code for several simple applications is included. The expression-manipulation unit, "expression.p" can be used separately from the rest of the shell; one of the sample applications shows how this unit can be used for graphing functions. Note that MacStarter_Pascal is similar to, but more sophisticated than, MacStarter_C (for use with THINK C), which I have distributed previously. This application shell is appropriate for programs that don't need all the power and complexity of the THINK Class Library. It is provided free-of-charge and royality-free, and it can be freely distributed provided no charge is made for it. (I also hereby give my permission for it to be distributed on the info-mac CD ROM.) This is a binhexed self-extracting archive. David Eck Department of Mathematics and Computer Science Hobart and William Smith Colleges Geneva, NY 14456 eck@hws.bitnet --========================_13931840==_ Content-Type: application/mac-binhex40; name="MacStarter_Pascal.sea" Content-Disposition: attachment; filename="MacStarter_Pascal.sea" #### BINHEX mac-vogl-1a-ppc-c.hqx **** Date: Wed, 6 Jul 94 11:18:13 SST From: taihou@apple-iss.iss.nus.sg (Tng Tai Hou) Subject: MacVogl-alpha1PPC This is the PowerMac version of VOGL, a Very Ordinary GL library with source. I didn't write this. I merely ported it to the Mac from the Unix version. This is essentially the same source as the one I posted in 1991 to umich. I dusted it, and recompiled it under CodeWarrior. The 'C' source isn't ANSI. There aren't any prototypes. Two demos are included. One has a number of cubes rotating and translating. There are more cubes than seen on the screen. Some are occupying the same position. It demostrates the number of graphic objects that can be onscreen and still animates smoothly The other is a tetrahedron rotating along an eliptical path. Tai Hou TNG Singapore #### BINHEX mac-wt-004-c.hqx **** From: pjcreath@phoenix.Princeton.EDU (Peter Creath) Subject: MacWT 0.04 Date: Wed, 18 May 1994 14:24:36 -0500 --========================_6967288==_ Content-Type: text/plain; charset="us-ascii" Enclosed is the entire Mac port of "wt", a 3D public domain engine. This archive contains EVERYTHING relating to 0.04 on the home FTP site -- the documentation (what there is), the source code (in C), and the fat binary demo. I am not the author, nor am I the one who ported it to Mac. Excerpts from the README: wt - a 3D game engine Copyright (C) 1994 by Chris Laurel --------------------------------------------------------------------------- This is still a preliminary version of my 3D game engine, wt. * In the proud tradition of cp, mv, rm, as, and cc, now there is 'wt' wt (never capitalized) stands for "what's that?" * This is not by any means a complete game. It is just a demo of my graphics engine. I'd never name a game wt. * wt is portable software. See the section on porting at the end of this README for information on what to change in order to port to another platform. * Features: * Easy to edit world file. Just haul out your favorite text editor and modify 'castle.world' Or create your own .world file from scratch. Whee. Just don't get carried away because the world file format will be changing before the next release. * No BSP trees were killed to make this program. Sorry . . . it's late. BSP trees are elegant and fast *if* your environment is static. I eventually want walls in wt that move and change shape. However, if I can't kill a bug having to do with walls perpendicular to the view plane, I may have to resort to a BSP tree for determining wall visibility (or if my current algorithm is too slow for worlds with a large number of walls.) * Variable texture map size. Texture maps for walls can be any width you like, but the height must be either 64 or 128. Floor textures must be either 64x64 or 128x128. The main reason why arbitrary powers of two aren't supported has to do with the fact that Intels x86 chips don't have enough registers for my innermost loops. * Texture scaling for walls. The walls have an x scale factor and a y scale factor. It might be more properly called 'frequency,' since the smaller the parameter, the bigger the texture map will appear. Supporting the scaling factors requires a couple of extra multiplies in the wall drawing function. * Resources * A wt mailing list has been started recently. Topics will include improving the engine design and adding features, porting the engine to different architectures, and game design using the wt graphics engine. The addresses are: to subscribe: wtm-request@magoo.uwsuper.edu to post a message: wtm@magoo.uwsuper.edu --========================_6967288==_ Content-Type: application/mac-binhex40; name="MacWT-0.04.cpt" Content-Disposition: attachment; filename="MacWT-0.04.cpt" #### BINHEX macbinary-ii-plus-pas.hqx **** Date: Tue, 9 Feb 1993 15:36:53 +0800 From: Peter N Lewis <peter@cujo.curtin.edu.au> Subject: source/pascal/macbinary2+100.hqx This is the THINK Pascal 4.0.2 source code for MacBinary II+, a System 7 drag&drop converter for MacBinary files. The source code may be used for any non-commercial (ie, shareware or freeware) purpose as long as I get a mention in the about box and documentation of any derivative program. The code is very sparsely commented. All pascal units ending with .unit are taken from my personal library of reusable modules, and should be fairly easy to incorporate into any other program. The source code uses Michael Hecht's Task Manager code, and could be used as an example of how to use that code, as well as supporting the core Apple Events. Hope its useful to someone, Peter. <peter@cujo.curtin.edu.au> MacBinary II+ v1.0.0 Copyright 1992-93 Peter N Lewis #### BINHEX macgambit-20-compiler-src-p1.hqx **** #### BINHEX macgambit-20-compiler-src-p2.hqx **** #### BINHEX macintosh-tracker-12-c.hqx **** From: tomlaw@world.std.com (Thomas R. Lawrence) Subject: MacTrackerSource1.20.cpt.hqx Date: Sun, 8 May 1994 10:33:34 -0400 This is the source code for the Macintosh Tracker MOD player. It includes Macintosh source to Marc Espie's Tracker 4.0 and examples of how to call Frank Seide's Sound-Trecker and Antoine Rosset's MADF-Library routines. Project files were created with THINK C 6.0. Direct all correspondence to: Thomas R. Lawrence tomlaw@world.std.com #### BINHEX mailcheck-c.hqx **** Date: Wed, 20 Oct 1993 10:05:06 -0400 (EDT) From: Aaron Wohl <aw0g+@andrew.cmu.edu> Subject: check unix mail client mailcheck / by Aaron Wohl N3LIW / Public Domain / mail n3liw+@cmu.edu Home ftp site akutaktak.andrew.cmu.edu [128.2.35.1] /aw0g/mailcheck* Available from compuserve in the ham radio sig/packet section Mailcheck is an Init/cdev/driver to check for mail in a server (unix) mailbox via UDP (TCP/IP) and pop a notification manager dialog window or play a sound when mail comes in. Sources included. It talks to a unix server which is also available from the above site. Aaron Wohl (aw0g+@andrew.cmu.edu) #### BINHEX matts-scripts-as.hqx **** From: ai158@freenet.buffalo.edu (Matthew Ahrens) Subject: Matt's Scripts Date: Mon, 28 Mar 1994 09:25:53 -0500 These are some scripts for AppleScript that I wrote. They include: Replace in text editor Dial Number Number Lines Get Item Info I hope you enjoy them! #### BINHEX maxwell-c.hqx **** From: kenlong@netcom.com (Ken Long) Subject: NewMaxwell-c-src Date: Fri, 4 Feb 1994 18:57:18 -0800 (PST) Gift Givers! This is source for Think C 5.0.4 which combines some routines found in the original PD source for Maxwell-DA and a microShell made from the TC demo "Bullseye." All I did was get this to run in the shell. More work needs to be done one it, but it stands as a demo for doing B/W sprite animation without resources. It puts up a window with a framed Rect. There are little happy faces bopping around randomly, boncing off walls and each other. Ther are some black dots doing the same. A bar down the Rect. center has a gate that opens on mouseDown and closes on mouseUp. The idea is to open and close it at the right time so that all the "balls" wind up on one side of the bar. -Ken- ----------------Cut to your Heart's content-------------------------------- #### TEXT mbprintf-c.txt **** Date: Wed, 2 Dec 92 16:28:25 PST From: macmod@SUMEX-AIM.Stanford.EDU (Info-Mac Moderator) orrow.stanford.edu!stanford.edu!agate!ucbvax!hplabs!sdd.hp.com!elroy.j pl.nasa.gov!usc!davidp From: davidp@calvin.usc.edu (David Peterson) Newsgroups: comp.sys.mac.programmer Subject: Just for you, an early Christmas present Message-Id: <1fj5ksINNo34@calvin.usc.edu> Date: 2 Dec 92 20:17:32 GMT Reply-To: davidp@usc.edu Organization: University of Southern California, Los Angeles, CA Lines: 99 Nntp-Posting-Host: calvin.usc.edu Apparently-To: info-mac Resent-To: backmod Resent-Date: Wed, 2 Dec 1992 16:28:22 PST Resent-From: Info-Mac Moderator <macmod@sumex-aim.Stanford.EDU> #### BINHEX mega-source-103-nshell.hqx **** Date: Thu, 29 Sep 1994 06:54:25 -0700 (PDT) From: John Jensen <jjensen@kaiwan.com> Subject: nShell(tm) Mega Source v1.0.3 This upload replaces /info-mac/dev/src/mega-source-101-nshell.hqx Source code is provided for: ask, battery, beep, cat, chattr, cp, date, delay, df, echo, eq, fss, gestalt, hello, launch, ls, man, mem, mkdir, mv, notify, odoc, ps, read, rm, shift, wc, and yesno. With version 1.0.3, these files have been modified to build with either the Think C or the CodeWarrior development environments. It is assumed that you have downloaded and installed the nShell application and its Programmer's Guide. These packages are available from a number of on-line sources. The nShell is a traditional scripting environment for the Apple Macintosh. The shell is available in two forms. A light version, called nShell(tm), is freely distributable for non-commercial purposes. A second version, called nShell-Pro(tm), is available as a commercial product. Our goal is to make the shell environment available to as many users as possible, while providing serious users with the support and reliability of a full commercial product. Contact: John Jensen EMail: jjensen@kaiwan.com, jjens@eworld.com, or jjensen@aol.com Mail: Newport Software Development, P.O. Box 1485, Newport Beach, CA 92659 #### BINHEX menu-commands-library-as.hqx **** From: ai158@freenet.buffalo.edu (Matthew Ahrens) Subject: [*] Menu Commands Script Date: Mon, 2 May 1994 14:38:14 -0400 Please replace the previous copy of Menu Commands with this version. some people had complained about the script asking them for an app which they did not have. this version is saved as text, not complied, so that should not be a problem now. feel free to email any additional problems, suggestions, thank-yous, etc. #### BINHEX menu-fixer-10-c.hqx **** From: f8dy@netaxs.netaxs.com (Mark Pilgrim) Subject: Menu Fixer 1.0 (source code) Date: Mon, 15 Nov 1993 11:03:20 -0500 (EST) Menu Fixer is a programmer's tool which will examine all the MENU resources in a file and report (and optionally fix) discrepancies between the MENU resource ID and the menu's internal menu ID. If your menus are showing up scrambled or not showing up at all, try this first! Menul Fixer is distributed under the GNU General Public License; this archive contains complete THINK C 6.0.1 source code for the Menu Fixer application, complete source code for an external application used to set up the application's self-integrity checker, and notes for using the self- integrity checker. You may freely redistribute this package as a whole; you may freely modify this application and re-distribute it under the GNU General Public License. See the file "GNU General Public License" in this archive for details. This code handles, among other things, events, menus, apple events, Gestalt environment checking, hierarchical menus, dialogs, windows, off-screen bitmaps, resource file management, and standard file dialogs. None of this is very well commented, but feel free to direct any questions to f8dy@netaxs.com. Menu Fixer 1.0 is copyright 1993, Mark Pilgrim, MerriMac Software Group. #### BINHEX menu-slide-11-p.hqx **** Date: Wed, 19 Oct 1994 15:27:34 +1000 From: Hugh.Fisher@anu.edu.au (Hugh Fisher) Subject: dev/source - MenuSlide 1.1 For the dev/src area This is a little application I wrote to test a user interface idea: that the menu bar should slide when you switch applications. Source code (THINK Pascal) and binary (it's very small) included. Please try it and let me know what you think. #### BINHEX morpion-100-p.hqx **** From: Peter N Lewis <peter@ncrpda.curtin.edu.au> Subject: src/pascal - Morpion 1.0.0 Date: Fri, 3 Dec 1993 17:30:00 +0800 This is the Pascal source code for Morpion v1.0.0, a simple solitaire game, initially designed by Henri Lamiraux. The source code contains lots of interesting stuff: Demonstrates the usefulness of building library routines (only three of the included source files are particular to Morpion). Support for the core AppleEvents Support for FMenus which make you menu locations independent of the code that implements them. Supports for the TextToSpeech Manager. Demonstrates OO techniques for implementing windows as objects. Code for reading your own Version resource. And lots of useful general purpose routines. You can use this source code for any non-commercial purpose. Hope it is useful to someone, Peter. <peter.lewis@info.curtin.edu.au> Morpion v1.0.0 Copyright 1993 Peter N Lewis #### BINHEX mouse-broken-101-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Mousebroken 1.0.1 (source code) Date: Tue, 7 Dec 1993 00:16:40 -0500 (EST) Mousebroken is a control panel which will give you greater control over your mouse (or less control, depending on how you look at it). It comes with 13 mouse modules, each designed to alter your mouse's behavior in a different way. New mouse modules can easily be designed and added to Mousebroken. The mouse modules in this archive are public domain; feel free to design your own! The Mousebroken control panel is free and is distributed under the GNU General Public License. This archive contains complete THINK C 6.0.1 source code and project files for the control panel. This archive also contains source code to 13 sample mouse modules and a blank module prototype (quite well commented, too); these modules are public domain. If you do not have FTP access, e-mail the author for a copy of the control panel, the source code, or a list of other programs by the same author. The address is f8dy@netaxs.com. Version 1.0.1 fixes a bug that caused the error dialog box to be displayed incorrectly on black & white Macs. This version of the control panel should work on any Macintosh, under either system 6 or 7. Some individual mouse modules may have problems on systems with multiple monitors. Please report any bugs/comments/suggestions to f8dy@netaxs.com. This code demonstrates the in's and out's of writing a control panel, advanced file maintenance, INIT installation, preference file maintenance, notification through the Notification Manager, VBL installation and removal, and the correct way to access Quickdraw globals in a control panel. Mousebroken 1.0.1 is copyright 1993, Mark Pilgrim, MerriMac Software Group. #### TEXT mpw-tool-appleevents-c.txt **** From: keith@taligent.com (Keith Rollin) Subject: Re: Need sample code of MPW tool using Apple Events Date: Fri, 18 Sep 1992 01:50:18 GMT In article <1992Sep17.181819.23018@oakhill.sps.mot.com>, tomc@oakhill.sps.mot.com (Tom Cunningham) wrote: > > > Does anyone have some code for an MPW tool using Apple Events that > they could send me? In particular, I want to communicate with the > Tool Server (e.g. run a script) via Apple Events from within an MPW > tool. Thanks. I used the following in a tool I wrote to kill and restart the Finder. This was in the hopes that shutting down the Finder would help speed up my long compiles (it didn't). Remember that you have to have one of the MPW Shells that comes with its High-Level Event Aware bit set: void KillFinder() { #### BINHEX msg-14-demo-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: MSG Demo 1.4 (source code) Date: Sat, 23 Apr 1994 19:28:54 -0400 (EDT) MSG Demo 1.4 is a collection of 67 graphic effects and 60 fades. New features: increased compatibility with 68000 machines, 32 new effects and fades, deBinHex capability, and many technical improvements. This archive contains complete THINK C source code and project files. Demo application also available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for complete program list. Copyright (C) 1992-4, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. #### BINHEX multisession-104-c.hqx **** Date: Sat, 2 Oct 93 20:56:59 -0500 From: tomlaw@yar.cs.wisc.edu (Thomas R. Lawrence) Subject: MultiSession 1.04 source code Wow. Source code to MultiSession. PLEASE send all mail to tomlaw@world.std.com! #### BINHEX munge-image-120-p.hqx **** Date: Mon, 15 Aug 1994 20:17:38 +0800 From: Quinn <quinn@cs.uwa.edu.au> Subject: source/pascal - MungeImage 1.2.0 Source --========================_9114232==_ Content-Type: text/plain; charset="us-ascii" Source to the latest release of the much malaigned, falsely accused, I didn't do it, I wasn't even in the country at the time, MungeImage utility. Share and Enjoy. Quinn "The Eskimo!" <quinn@cs.uwa.edu.au> Peter N Lewis <peter.lewis@info.curtin.edu.au> --========================_9114232==_ Content-Type: application/mac-binhex40; name="MungeImage_Source_1.2.0.sit" Content-Disposition: attachment; filename="MungeImage_Source_1.2.0.sit" #### BINHEX myenv-notify-c.hqx **** Date: Wed, 3 Nov 93 11:35:47 -0600 From: oleg@ponder.csci.unt.edu (Kiselyov Oleg) Subject: myenv-notify.cpt: "Standard" progr env for C/C++ (source) What: minimal minimal "standard" programming environment for Think C/C++ Highlights: posting synchronous _and_ asynchronous notifications, displaying messages: like crossbreed printf & DebugStr, but works without MacsBug loaded!, simple error-handling Note: _commented_ source code Note: The environment is used in the programs I post next. System: System 7, Think C/C++ version 6.0 (but worked for 5.0, too) Contents: myenv.h Declaration of functions, macros, and constants myenv.cc Implementation source code vmyenv.cc Validation routine that checks that everything works notify.cc Source for posting notifications Comments to: oleg@ponder.csci.unt.edu, oleg@unt.edu Explanation: notify.c: The set of functions lets a (possibly, background) application post synchronous or asynchronous notification messages to the user. Synchronous posting means that the posting function does not return until the notification message is displayed and the user dismisses it. In asynchronous mode, the posting function returns as soon as the message is queued into the notification queue (but not yet displayed!). The functions use the Notification Manager and the EventManager (via function sleep() defined elsewhere in the standard env to relinquish the CPU control while sleeping). Circular queue is used to store asynchronous notification requests. ------------------------------------------------------------------------ #### BINHEX n-shell-sample-c.hqx **** Date: Fri, 26 Aug 1994 07:29:36 -0700 (PDT) From: John Jensen <jjensen@kaiwan.com> Subject: nShell(tm) CodeWarrior Examples Early releases of the nShell(tm) contained sample code for the Think C development environment. This package describes how to build nShell commands using CodeWarrior, as well as Think C. Source code is included for the "hello", "date", and "delay" commands. Conditional compilation allows commands to built under either environment. The nShell is a traditional shell environment for the Apple Macintosh. A hypertext programmer's guide to the nShell is available separately. Contact: John Jensen EMail: jjensen@aol.com, jjensen@kaiwan.com, or jjens@eworld.com Mail: Newport Software Development, P.O. Box 1485, Newport Beach, CA 92659 #### BINHEX n-shell-sample-p.hqx **** Date: Mon, 29 Aug 1994 05:25:21 -0700 (PDT) From: John Jensen <jjensen@kaiwan.com> Subject: nShell(tm) Think Pascal Examples Early releases of the nShell(tm) contained sample code for the Think C development environment. This package describes how to build nShell commands using Think Pascal. Source code and project files are included for the "hello", "date", and "delay" commands. A hypertext programmer's guide to the nShell is available separately. You may distribute unmodified copies of the nShell(tm) for noncommercial purposes. All other rights are reserved. nShell-Pro(tm) is available as a commercial product, and may not be distributed without the express written consent of Newport Software Development. Contact: John Jensen EMail: jjensen@aol.com, jjensen@kaiwan.com, or jjens@eworld.com Mail: Newport Software Development, P.O. Box 1485, Newport Beach, CA 92659 #### BINHEX ncsa-mac-telnet-261d1-c.hqx **** From "mactel@ncsa.uiuc.edu (Mac Telnet)" Tue May 17 12:35:18 1994 Date: Tue, 17 May 94 14:29:40 CDT From: mactel@ncsa.uiuc.edu (Mac Telnet) Subject: Telnet2.6.1d1 Source Code Several people have asked me for the NCSA Telnet 2.6 source code. The source code for 2.6 is not available. However, the source code for 2.6.1d1 _is_ available. Don't let the "d" scare you. The primary difference between the 2.6.1d1 source and the 2.6 source is the addition of some macros and a few small changes so the source code will compile native for the PowerMacintosh. The changes are detailed in the readme file. #### BINHEX nih-image-149-c.hqx **** From: salzman@Athena.MIT.EDU Date: Wed, 31 Mar 93 21:57:15 -0500 Subject: NIH-Image.149_source.hqx (8600 lines = 558907 bytes) #### BINHEX no-exit.hqx **** From: "STUART KOHLER.....X2175" <STUARTK%NORWCH%NORWICH.BITNET@MITVMA.MIT.EDU> Subject: NoExit.hqx Date: Sat, 02 Jul 1994 20:50:44 -0500 (EST) contains handlers preventing exit from or changes to stack without password. **************************************************************************** #### BINHEX nuntius-11-c.hqx **** Date: Mon, 6 Jul 92 15:41:20 +0200 From: speck@ruc.dk (Peter Speck) Subject: Nuntius1.1.src.sea.hqx *** SOURCE to: *** Final version of Nuntius 1.1: Newsreader, requires system 7, and ~1200K. Written with MacApp3, C++ and the thread pkg from "d e v e l o p". No documentation is available. Report bugs etc to speck@dat.ruc.dk, not speck@frederik.ruc.dk Some people have trouble with editing articles when they use another editor besides TeachText. I'm working on this bug. Peter Speck, speck@dat.ruc.dk #### TEXT open-selection-pas.txt **** From: mxmora@unix.sri.com (Matthew Xavier Mora) Subject: OpenSelection Code (pascal source) Date: 11 Sep 92 17:11:08 GMT Here's the code to have the finder open a control panel. Just pass the control panel's fsspec to the openselection function and it should open it. Actually I think it will open any valid fsspec but I wouldn't bet on it. I haven't stressed this code so there are probably some bugs in it. Matt -------------------------------------------- { OpenSelection.p ported by Matthew Xavier Mora} { ported from C.K. Han's openselection.c code } { 09-11-92 } unit openSelection; interface #### BINHEX out-of-phase-102-c.hqx **** Date: Mon, 3 Oct 94 08:58:15 CDT From: lawrence@csrd.uiuc.edu (Thomas R. Lawrence) Subject: OutOfPhase1.02Src.cpt.hqx [attempt 2] Source code for OutOfPhase 1.02 #### TEXT path-from-fsspec-pas.txt **** From: mxmora@unix.sri.com (Matthew Xavier Mora) Subject: PathName from FSSpec (pascal code) Date: 9 Sep 92 00:21:34 GMT I spent the long weekend cursing at the AppleEventManager trying to get the finder to open a control panel. Anyway, one of the things I discoverd was that the alias manager will give you a path name if you ask for it. Since my program needed to display the path name, I wrote a function that will return a full path name in a handle (not in a str255 so you it won't crash with long path names) when you give it a fsspec. I also figured out how to get the finder to open a control panel. You need to send an open selection event. I finally found an example that worked and ported it to pascal. If you would like to see that code I can post it here also. Its a direct copy of C.K Han's C code that is on the developers CD. Here is the code: #### BINHEX peek-a-boo-112-ad-c.hqx **** From: joe@clipper.cb.att.com Date: Thu, 28 Oct 93 21:46:32 EDT Subject: PeekaBoo AD module 1.1.2 Macfolks, PeekABoo version 1.1.2 AfterDark(tm) screensaver module. This version will run under Multimodule and Randomizer !! For those already with version 1.1.1, I'm submitting a patch to update that version. Download the patch instead - it's smaller :) Source code is included. This is FREE. Requires Color Quickdraw (+ System 7 ??) because it uses offscreen graphics worlds. - joe #### BINHEX pentominoes-141-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Pentominoes 1.4.1 (source code) Date: Thu, 9 Dec 1993 23:16:02 -0500 (EST) Pentominoes is a board game where you must fit 12 pieces (of five squares each) into a variety of boards. Pieces may be rotated or flipped, but may not overlap each other. A great geometric puzzler that goes back 40 years! Pentominoes is distributed under the GNU General Public License; this archive contains complete THINK C 6.0.1 source code for the Pentominoes application, as well as complete source code for an external application used to set up Pentominoes' self-integrity checker. You may freely redistribute this package as a whole; you may freely modify this application and re-distribute it under the GNU General Public License. See the file "GNU General Public License" in this archive for details. This code handles, among other things, events, menus, apple events, a prefs file, Gestalt environment checking, asynchronous sounds, hierarchical menus, dialogs, windows, off-screen bitmaps, file management, standard file dialogs, the correct use of ReleaseResource instead of DisposeHandle (27 instances), and the soon-to-be-famous "cough to continue" modal dialog filter proc. None of this is very well commented, but feel free to direct any questions to f8dy@netaxs.com. Pentominoes 1.4.1 is copyright 1993 by Mark Pilgrim, MerriMac Software Group. #### BINHEX persistence-of-vision-22.hqx **** From: jsc@ram.suny.geneseo.edu (Jon Christiansen) Subject: Persisteance of Vision raytracer for the Mac from Date: Wed, 23 Feb 1994 09:00:46 -0500 --========================_12795288==_ Content-Type: text/plain; charset="us-ascii" Here is one of the files that Mark Elliott was looking for, I had no problem downloading them (they were MacBinary II, according to what I saw) FILE POVSRC.22.SIT --========================_12795288==_ Content-Type: application/mac-binhex40; name="POVSRC.22.sit" Content-Disposition: attachment; filename="POVSRC.22.sit" #### BINHEX pict-button-cdef-107-c.hqx **** From: celestin@olympus.net (Paul Celestin) Subject: source/c - PICTButton CDEF 1.0.7 Date: Sun, 3 Jul 1994 15:07:28 -0700 --========================_15137296==_ Content-Type: text/plain; charset="us-ascii" PICTButton is a CDEF (control definition) written in C that allows you to use pictures as buttons instead of the drab black and white buttons that you are used to. You can use it just about anywhere. It's been tested on various machines. I've included a sample application that shows the CDEF in action. Complete source code and Think C 7 project file included. --========================_15137296==_ Content-Type: application/mac-binhex40; name="PICTButton_CDEF_1.0.7.sit" Content-Disposition: attachment; filename="PICTButton_CDEF_1.0.7.sit" #### BINHEX plain-text-121-c.hqx **** From: MPARK@UTMEM1.UTMEM.EDU Subject: PlainText source + improved TE32K Date: Thu, 03 Feb 1994 18:44:01 -0600 (CST) Here is the complete source for PlainText, a Public Domain text editor. PlainText is a pure C implementation of ideas contained in the object class library published in "Elements of C++ Macintosh Programming" by Dan Weston. For many applications, implementing objects in C is a path to elegant programming that avoids the lengthy compile times of some C++ environments. The text engine is modified from TE32K by Roy Wood and with contributions from Patrick C. Beard, Lee A. Fyoc, Dave Platt, and Teddy Slottow. In fact, the TE32K source files contained here can be used as a substitute for TextEdit in any application needing to handle files larger than 32K. Consult the documentation contained in the original TE32K package archived on Info-Mac and elsewhere. I have extensively modified TE32K in order to provide full arrow key support, undo, MPW-like selection hiliting, support for double and triple clicking, and more. This is a self-extracting, binhexed, Compact Pro archive. I recommend archiving as PlainText-Source-1.21.sea.hqx. Mel Park University of Tennessee, Memphis mpark@nb.utmem.edu mpark@utmem1.utmem.edu ---------------------------------------------------------------- #### BINHEX popup-cdef-10b4-c.hqx **** From: ari@world.std.com (Ari I Halberstadt) Subject: PopupCDEF-10b4-c.hqx Date: Fri, 9 Sep 1994 22:10:21 -0400 (EDT) This is version 1.0b3 of Popup CDEF. It fixes some bugs and adds support for color menus. Full C source code, a demonstration application, and THINK C 5.0.4 and 7.0 projects are included. This CDEF implements a popup menu control. The CDEF handles display of the menu's title, the current selection, the one pixel drop shadow, and the down arrow at the end of the menu. It also handles tracking of the mouse and checking and unchecking of the current item. It is compatible with systems 6.0.5 and 7.0. The CDEF is modeled after the popup CDEF provided by Apple in System 7.0 and described in IM-VI, p3-16 to 3-19. If you are already familiar with that CDEF then using this CDEF will be very simple. Additional support is provided for type-in popup menus, for menus created dynamically by the application, and for colorized menus. This program is free, and can be used subject to the terms detailed in the file "Distribution". #### BINHEX popup-menu-tester-100-c.hqx **** Date: Thu, 3 Nov 1994 21:53:18 -0800 From: celestin@olympus.net (Paul Celestin) Subject: PopupMenu-Tester-100-c-src.sit.hqx --========================_22825486==_ Content-Type: text/plain; charset="us-ascii" I offer the following piece of code, which I hacked together tonight, in order to get a better understanding of System 7 PopupMenus. It basically displays a movable modal dialog with one popup menu and one button. Selecting an item from the popup menu changes the title of the dialog to echo that item. Clicking the Quit button exits the program. It's a CodeWarrior project in C. Simple stuff, but maybe some people will find it useful. --========================_22825486==_ Content-Type: application/mac-binhex40; name="PopupMenu_Tester_1.0.0.sit" Content-Disposition: attachment; filename="PopupMenu_Tester_1.0.0.sit" #### BINHEX pram-save-restore-c.hqx **** From: oleg@ponder.csci.unt.edu (Kiselyov Oleg) Subject: PRAM save/restore Date: Wed, 9 Feb 94 09:35:36 -0600 What: save the PRAM and extended PRAM and restore it on start-up Contents: PRAM boss - System extension (but can run as application if the file type changed from INIT to APPL) PRAM boss.pi - Project for the application part of PRAM boss PRAM save.cc - Source code for the application part of PRAM boss PRAM reset.pi - Project for the INIT resource that restores PRAM PRAM reset.c - source code for the INIT resource PRAM guard.* - application and the source code to set/restore just the regular PRAM at any time The source code contains enough (I hope) comments to show what a particular piece of code does, as well as some tricks involved Language: Symantec C/C++ 6.0 and built-in Assembler System: System 7.x, but probably 6.x is OK, too. Tested on IIsi, IIci, Quadras and Centres. Note: the source code uses a "standard" environment, see myenv-notify.cpt Comments to: oleg@ponder.csci.unt.edu, oleg@unt.edu References: DiskParam (/info-mac/util/), SetXParam (from redback.cs.uwa.edu.au (130.95.80.61) as "/ComSci/LabUtilities/SetXParam.sit") Special note: for a map of the extended PRAM, read on. Explanation: PRAM boss is a better version of DiskParam. The PRAM boss is a bundle of an application and an INIT resource. The application (when double-clicked) just dumps the contents of the 20-byte regular PRAM plus the contents of the entire Extended PRAM into a 'HEXA' resource. The INIT resets the regular PRAM and (a part of) the extended PRAM to the values saved into the 'HEXA' resource. The date/time is not spoiled! So, you can run the application on your computer and create a HEXA resource with some 'standard' settings. Then you can change the creator to INIT and drop the (now a 'System Extension') into the Extensions folder. From that moment on, whenever you restart your Mac, the PRAM and extended PRAM are reset to their "standard" values. You can even delete the code resource with the Resource editor: that way there is no way you can change the "standard" values. It's perfect for computers in the Lab. The INIT that resets the PRAMs does NOT patch the system, nor it takes any memory in the system heap, etc. After it resets the PRAM, it quietly quits without leaving any traces in the system. The distribution contains the compiled PRAM boss in the guise of the System extension. To run it as an application, change the file type to APPL. PRAM guard is my early experiment, it works only with the regular PRAM, but it's got a nice (I hope) user interface written in C++! Map of the extended PRAM (for references) from the article posted in comp.sys.mac.{programmer,system, hardware} with comments from ez015670@othello.ucdavis.edu, quinn@cs.uwa.edu.au, wolfson@ll.mit.edu, and small corrections Extended PRAM Map Loc Length Related to (hex) (dec) 1 1 Used by a system program _InternalWait 8 4 Looks like the last 4 bytes of the regular PRAM (See IM, Vol II, OS Util) 10 16 Looks like the first 16 bytes of the regular PRAM (See IM, Vol II, OS Util) 76 1 Has something to do with the RAM disk size 78 4 Startup Disk info (apparently, SCSI id, or smth) 7C 2 System Beep. As was pointed out earlier, it's in fact an id (short int) of the corresponding 'snd ' resource in the System file. Accessed through the Sound control panel 7E 1 Used by a system program _InitProcMenu 7F 1 Apparently it has smth to do with the way windows and dialogs appear on the screen 80 2 Used by a system program _GetVideoDefault Apparently, some default video settings 82 6 Hilite Color, apparently in the RGB format. Setup through the Color control panel 8A 1 Bit field: Memory/cache control flags 1xxx xxxx 68040 Cache is OFF | Toggled through Cache control 0xxx xxxx 68040 Cache is ON | panel xxxx x1x1 32-bit addressing is ON (toggled through the Memory control panel) AF 1 Has something to do with the RAM disk size BD 33 Used (and set!) by some system programs in ROM, DE 2 at addresses 8009d544 and 8009D73C. BTW, the beginning of the field at loc 0xBD looks like the name of a default AppleTalk zone E0 4 Network: contains info if AppleTalk is active and the selected network access (say, LocalTalk or EtherTalk). See Chooser and Network control panel E4 12 Latitude/Longitude of the place the Mac is at Setup through the Map Control panel ez015670@othello.ucdavis.edu also commented that > One thing that you left out was the total power on hours is also in > the xpram. It is a 16 bit word. That contains the total time the > computer has been on in 5 minute intervals. > Supposedly there is also some creation stuff in their to that tells > when the machine was made, but I can not make sense of it. ------------------------------------------------------------------------ #### TEXT preferences-c.txt **** From: Sproul@sproul.sproul.com (Mark Sproul) Subject: Prefs file source code (C - long) Date: 2 Oct 92 09:05:30 GMT Several people asked for this source code. As explained in the comments, it came from Inside Mac Comm Toolbox and there is a lot of code dealing just with the Comm Tool box setup. It now handles the PREFERENCES folder in the system folder properly. I have done some additions to the code to make it more general and usable as far as dealing with preferences. Such as GET pref and SET pref. This code was all written and runs correctly with Think C 5.0. Its been several months since I wrote this and was looking at it. I may have forgotten to mention something, if you have any problems let me know and I will post updates. You need to define some things such as this: #### BINHEX pro-tracker-asm.hqx **** From "jamal@gnu.ai.mit.edu (Jamal Hannah)" Wed Sep 8 03:00:20 1993 Date: Tue, 7 Sep 93 19:22:59 -0400 To: info-mac@SUMEX-AIM.Stanford.EDU From: jamal@gnu.ai.mit.edu (Jamal Hannah) Subject: ProTracker-source.sit.hqx Resent-To: backmod Resent-Date: Wed, 8 Sep 1993 1:45:56 PDT Resent-From: Info-Mac Moderator <macmod@camis.Stanford.EDU> --========================_6712356==_ Content-Type: text/plain; charset="us-ascii" Please place this file on the info-mac FTP site, either in a source code directory, or in info-mac/snd/util (or a directory for sound and music format documentation). ------- This is the 68000 assembler source code for the Amiga music sequencing/sound track editor called "ProTracker", the source and images for versions 1.2 and 2.0 are included. Hopefully it will help Macintosh programmers achive a better understanding of the "MOD" Music file format that ProTracker uses, as well as give ideas about writing sound track software. The origional (LHARC) archive was found on FTP site wuarchive.wustl.edu in the "aminet" section. (/systems/amiga/aminet/mus/edit/ptsource.lzh) - Jamal Hannah <jamal@gnu.ai.mit.edu>, 9/7/93 --========================_6712356==_ Content-Type: application/mac-binhex40; name="ProTracker-source.sit" #### BINHEX qt-movie-toolbox-11-c.hqx **** From: markf@post.QueensU.CA (Mark Fleming) Subject: Updated source to MovieToolBox Date: Sat, 12 Feb 1994 00:27:08 -0500 --========================_18342168==_ Content-Type: text/plain; charset="us-ascii" QT Movie ToolBox V1.10, Freeware - Added Direction menu - Added background color option - Added option to view next preview image by click on preview window - Added option to display current preview step by holding down the option key. - Fix bug with open menu item being disabled after selecting Effect menu. - Cleaned up the code for allocating offscreen GWorlds - Cleaned up & Documented to code some more... I included sample code for calling Adobe Premiere effect modules, you can get the needed includes and file from the Adobe premiere 2.0 development kit. [Replaces as /info-mac/dev/src/qt-movie-toolbox-10-c.hqx; 60K] --========================_18342168==_ Content-Type: application/mac-binhex40; name="QT_Movie_toolBox.src.sit" Content-Disposition: attachment; filename="QT_Movie_toolBox.src.sit" #### BINHEX read-and-shift-nshell.hqx **** Date: Fri, 16 Sep 1994 06:59:37 -0700 (PDT) From: John Jensen <jjensen@kaiwan.com> Subject: nShell(tm) 'read' and 'shift' commands This package contains new "read" and "shift" commands (and their source code) for the nShell(tm). The "read" command collects things from standard input and stores them into shell variables. The "shift" command shifts numeric variables. This is useful in controlling loops within shell scripts. The nShell is a traditional scripting environment for the Apple Macintosh. The shell is available in two forms. A light version, called nShell(tm), is freely distributable for non-commercial purposes. A second version, called nShell-Pro(tm), is available as a commercial product. Our goal is to make the shell environment available to as many users as possible, while providing serious users with the support and reliability of a full commercial product. A programmer's guide to the nShell, with example source code, is available separately. You may distribute unmodified copies of nShell(tm) commands for noncommercial purposes. All other rights are reserved. nShell and nShell-Pro are trademarks of Newport Software Development. Apple and Macintosh are registered trademarks of Apple Computer, Inc. Other brands and their products are trademarks of their respective holders. Contact: John Jensen EMail: jjensen@aol.com, jjensen@kaiwan.com, or jjens@eworld.com Mail: Newport Software Development, P.O. Box 1485, Newport Beach, CA 92659 #### BINHEX rebuild-projects-11-as.hqx **** From: malldrit@sfu.ca Subject: Rebuild Projects - THINK C Development Script Date: Thu, 23 Dec 1993 13:56:14 -0800 Rebuild Projects v1.1 by Mark Alldritt author of Script Tools & Monitor Rebuild Projects is a AppleScript script which is usefull if you use THINK C 6.0.1+ to develop software involving a number of seperate THINK C project files. Rebuild Projects uses a parameter file to govern the order and type of operations performed during the build process. The parameter file can direct Rebuild Projects to compile certain projects, move files, and empty folders. Additionally, the script is simple enough (less than 150 lines) that you can add your own verbs to the parameter file syntax to extend the script into areas you might find usefull. Rebuild Projects requires AppleScript 1.0 or later, and Script Tools 1.3 or later. Script Tools is available from the Info-Mac archives and other sites. Package Contents: Rebuild Projects Read Me First (this text) Example Param File Rebuild Project is freeware. There are no restritions on use or distribution. #### BINHEX region-to-rectangles-c.hqx **** From: Hugh Fisher <Hugh.Fisher@cs.anu.edu.au> Subject: source/C - RegionToRectangles Date: Mon, 21 Feb 1994 13:29:32 +1100 (EST) This is C source code for breaking down a region into rectangles, plus notes and a sample program to demonstrate it in action. Comments welcome: send to Hugh.Fisher@anu.edu.au ------------Cut here----------------- #### BINHEX rfc-1123-822-date-formatter-c.hqx **** Date: Fri, 7 Oct 1994 15:03:45 -0500 From: resnick@uiuc.edu (Pete Resnick) Subject: RFC 1123 (822) date formatter (C source code) --========================_12660869==_ Content-Type: text/plain; charset="us-ascii" This archive contains C source code and an associated resource file for functions that convert between the ASCII version of Internet standard format (RFC 822 and 1123) date strings and the Macintosh time format (number of seconds since January 1, 1904). It is a little more lenient in strings that it accepts, in that it will convert some time zone specifiers that are not allowed in RFC 1123 (but are used by some broken mail systems) instead of just ignoring them. But the strings it produces are strict RFC 1123 date format strings. I wrote this mainly as an exercise to try out some of the International Utilities like StringToDate, StringToTime, ExtendedToString, and StringToExtended. It is certainly not the fastest code to do this, but the code size is pretty small, and it's a nice educational piece of code. If you use this code in a project, please remember to give me proper credit in the documentation or splash screen. pr -- Pete Resnick - resnick@uiuc.edu --========================_12660869==_ Content-Type: application/mac-binhex40; name="RFC_1123_Date.sit" Content-Disposition: attachment; filename="RFC_1123_Date.sit" #### BINHEX rotate-ppc-01d1-c.hqx **** From: craig@raru.adelaide.edu.au (Craig Kloeden) Subject: Program for the Archives Date: Sun, 12 Jun 1994 15:22:52 +0930 --========================_7525596==_ Content-Type: text/plain; charset="us-ascii" --========================_7525596==_ Content-Type: text/plain; name="RotatePPC0.1d1.cpt.hqx"; charset="us-ascii" Content-Disposition: attachment; filename="RotatePPC0.1d1.cpt.hqx" RotatePPC 0.1d1 =============== This is a Power Macintosh only program that reads a set of 3-dimensional points and lines and plots them in a window. The image can then be rotated with the mouse in real time. The provided source code demonstates a basic PPC C program that can handle the required apple events, set up and use an offscreen GWorld, get a file using StandardFile and read that file with standard C routines. The resource file contains code that will put up an alert on non-PPC machines and quit. The project file is for the Metrowerks PPC C DR/3 compiler. Craig Kloeden <craig@raru.adelaide.edu.au> --- #### BINHEX rotation-c.hqx **** From: kenlong@netcom.com (Ken Long) Subject: Rotation; a 3D graphics rotation program Date: Fri, 3 Jun 1994 13:35:29 -0500 --========================_14370816==_ Content-Type: text/plain; charset="us-ascii" Howdy, MacGifters! A 1986, 3D graphics rotation program, which I updated. Draws pseudo controls after some data strings and countdown (alternative to a progress bar) and the default draw. The drawing contines in a loop - just keeps drawing in a circle. There's another vertex table in the source that changes overall perspective. Not the best coded application in the world, but it's kinda cool and it runs. -Ken- --========================_14370816==_ Content-Type: application/mac-binhex40; name="Rotation-c.sit" Content-Disposition: attachment; filename="Rotation-c.sit" #### BINHEX sample-ldefs.hqx **** From: <fprefect@engin.umich.edu> Date: Tue, 16 Nov 93 00:26:55 -0500 Subject: Sample LDEFs and Source Sample LDEFs with source (for programmers) - * SICN LDEF - Steve Falkenberg, MacDTS * Sys7 Icon LDEF, Sys6/7 Icon LDEF, Indenting LDEF - Me These LDEF's were written as experiments into new formats for displaying data. I think the Icon LDEF's are useful for use in a MS Word-like prefs box, and the others have neat uses too. The commenting is minimal, but so is the functionality in an LDEF. I think that examination should reveal what you need to know. Use the LDEF source to write your own, or just use the compiled resources for your app. The only thing I could ask is that you post, or at least send me, any LDEFs you make based on this. I dont need recognition or cash... cuz I didnt write em for that. Share and Enjoy... Matt Slot, fprefect@umich.edu #### BINHEX sample-scsi-code.hqx **** From: david@CS.UCLA.EDU (David Dantowitz) Subject: Sample SCSI code Date: Sat, 23 Apr 94 10:56:30 PDT Someone recently requested sample SCSI code. This was pulled from AppleLink two years ago... Here is a Sample SCSI routine found on AppleLink from D0430 that was posted a while back. The library pointer posted for the Atari ST has lots of useful info, but you'll have to integrate it with the SCSI Manager (see the code below). #### BINHEX scroll-c.hqx **** From: kenlong@netcom.com (Ken Long) Subject: ScrollSource; scrolling lists w/out the List Manager (source) Date: Fri, 3 Jun 1994 13:35:17 -0500 --========================_14370816==_ Content-Type: text/plain; charset="us-ascii" Howdy, MacGifters! A 1986 Keith Lambert demo, I updated, of scrolling a list in a dialog, and selectability, without using the list manager. -Ken- --========================_14370816==_ Content-Type: application/mac-binhex40; name="SCROLLSOURCE.sit" Content-Disposition: attachment; filename="SCROLLSOURCE.sit" #### BINHEX seer.hqx **** Date: Wed, 20 Oct 1993 14:15:21 -0400 (EDT) From: Aaron Wohl <aw0g+@andrew.cmu.edu> Subject: seer / localtalk / records all packets Seer records all packets on localtalk. It is not 32 bit clean. Source and object code is supplied. The code is really bad but it works. by Aaron Wohl, aw0g+@andrew.cmu.edu For a much better example of how to write an INIT/CDEV/DRVR see softkiss by the same author. #### BINHEX sf-get-folder-p-pas.hqx **** Date: Mon, 11 Jan 1993 13:51:59 +0800 From: Peter N Lewis <peter@cujo.curtin.edu.au> Subject: /source/pascal/SFGetFolderP.hqx SFGetFolderP, Pascal version This is a pascal version of Ken Kirksey's <kkirksey1@aol.com>, SFGetFolder, which allows the user to select a folder following Apple's HI guidelines. I'm not the author, I just converted it to Pascal. The documentation is unchanged from Ken's, but I'm sure you can figure it out. Have Fun, Peter. <peter@cujo.curtin.edu.au> #### BINHEX sfget-sfput-nshell.hqx **** Date: Mon, 24 Oct 1994 04:21:05 -0700 (PDT) From: John Jensen <jjensen@kaiwan.com> Subject: nShell(tm) "sfget" and "sfput" commands This package contains new "sfget" and "sfput" commands (and their source code) for the nShell(tm). These commands pop the standard file dialogs and save the results in shell variables. A quick example would be: # # Disk usage report # sfput -p "Save disk usage report as:" my_path date >"$my_path" df >>"$my_path" The nShell is a traditional scripting environment for the Apple Macintosh. The shell is available in two forms. A light version, called nShell(tm), is freely distributable for non-commercial purposes. A second version, called nShell-Pro(tm), is available as a commercial product. Our goal is to make the shell environment available to as many users as possible, while providing serious users with the support and reliability of a full commercial product. A programmer's guide to the nShell, with example source code, is available separately. You may distribute unmodified copies of nShell(tm) commands for noncommercial purposes. All other rights are reserved. nShell and nShell-Pro are trademarks of Newport Software Development. Apple and Macintosh are registered trademarks of Apple Computer, Inc. Other brands and their products are trademarks of their respective holders. Contact: John Jensen EMail: jjensen@aol.com, jjensen@kaiwan.com, or jjens@eworld.com Mail: Newport Software Development, P.O. Box 1485, Newport Beach, CA 92659 #### BINHEX shutdown-fade-10-c.hqx **** From: f8dy@netaxs.netaxs.com (Mark Pilgrim) Subject: Shutdown Fade 1.0 (source code) Date: Fri, 19 Nov 1993 14:48:22 -0500 (EST) Shutdown Fade will cause your Macintosh to fade all attached screens to black every time it shuts down. This INIT is free and is distributed under the GNU General Public License; this archive contains complete THINK C 6.0.1 source code and project files for the INIT. If you do not have FTP access, e-mail the author for a copy of the INIT, the source code, or a list of other programs by the same author. The address is f8dy@netaxs.com. This code demonstrates the basics of INIT initialization and loading, shutdown procedures, and advanced gamma work. This code will only work on monitors with gamma -- the Mac II line, and any color Mac with a non-built-in monitor. (It has not been tested on a Color Classic; if anyone has one and feels like testing, please let me know if it works.) Please report any bugs/comments/suggestions to f8dy@netaxs.com. Shutdown Fade 1.0 is copyright 1993, Mark Pilgrim, MerriMac Software Group. #### BINHEX shutdown-fx-21-c.hqx **** From: f8dy@netaxs.com Subject: Shutdown FX 2.1 (source code) Date: Thu, 14 Jul 1994 21:47:25 -0400 (EDT) Shutdown FX 2.1 is a fun little software package which will fade your screen to black on restart and/or shutdown with one of over 60 graphic effects. This package includes complete THINK C 7 source code, project files, and resource files for all components of the Shutdown FX package: system extension, startup application, control application, Gestalt function, shutdown procedure, Notification Manager response procedure, and all 67 fade modules. (Relax, I didn't include 67 project files.) Since fades are stored as external modules (each in its own file), other programmers can easily create their own fades and add to their collection. See the Shutdown FX control application help section ("tech talk" page) for more details, or read about it yourself in TEXT 613 in sfx.<pi>.rsrc. This version fixes a bug in version 2.0.1 which could cause crashes on very old machines, increases the number of fades to 67, and makes several minor cosmetic improvements in the control application. The compiled, ready-to-use files are available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for complete program list. Copyright (C) 1993-4, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. #### TEXT simplify-list-manager-pas.txt **** From: kurisuto@BACH.UDEL.EDU ("Sean J. Crist") Subject: More free code: Simplifying the List Manager Date: 18 Sep 92 03:33:13 GMT The following code, once again, is nothing particularly glamorous; it simply makes it easier to use the List Manager to create and manage lists of strings. One of the most common uses for the List Manager is scrollable, one-dimensional, fixed-size lists of strings (as in SFGetFile, SFPutFile). The List Manager is good for creating all kinds of lists (such as lists of icons), but a lot of this functionality is a hassle for programmers who only need a simple list of strings. The code below allows you create and dispose of lists of strings. It allows you to add, rename, and remove elements in the list, and handles mouse clicks and update events. It also keeps the lists in alphabetical order. I remember having a lot of trouble learning how to call the List Manager properly; I hope that this code helps somebody else. #### TEXT sitcomm-login-as.txt **** From: harrym@netcom.com (Harry Myhre) Subject: SITcomm AppleScript Date: Tue, 7 Dec 1993 18:13:15 -0800 (PST) Language: AppleScript 1.0 Author: Harry Myhre <harrym@netcom.com> Date Written: Tue, Dec 7, 1993 Purpose: Start SITcomm, logon to Netcom, get into dl directory, ask user what to do next. tell application "SITcomm" activate Connect "Netcom" -- dial into Netcom Wait For Text "etcom" -- last part of command prompt Send Text "go ~" -- first, go to home dir Send Text return Send Text "go dl" -- go to my download dir Send Text return end tell #### BINHEX sleep-deprivation-11-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Sleep Deprivation 1.1 (source code) Date: Wed, 20 Apr 1994 15:06:47 -0400 (EDT) Sleep Deprivation 1.1 clears the screen with a cool graphic effect every time you put your Mac to sleep. Version 1.1 adds 42 new effects, for a total of 50. This archive contains complete C source code and related project files. INIT also available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for complete program list. Copyright (C) 1993-4, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. Requires a Macintosh that can go to sleep (Powerbook, Duo, etc). #### BINHEX sound-at-random-c.hqx **** Date: Wed, 3 Nov 93 11:42:50 -0600 From: oleg@ponder.csci.unt.edu (Kiselyov Oleg) Subject: sound-at-random.cpt - (source & bin) pick a sound at random and yell it What: pick a sound at random and play it Language: Symantec C++ 6.0 Note: Good (I hope) example of treating File and Drive managers as C++ objects Note: Good as a startup program. Note: needs standard environment, see myenv-notify.cpt Note: sounds themselves are _not_ included, get your own System: System 7.x, 32-bit clean Contents: RandomSound.cc - source code (commented) vRandomSound.cc - verification program RandomSound.pi - Symantec C++ project RandomSound - application itself. 32-bit clean, System 7 Comments to: oleg@ponder.csci.unt.edu, oleg@unt.edu Explanation: This is a whimsy set of functions that lets one play a sound picked at random from the sound folder. The sound folder is assumed to be a folder named "Sounds" in the System folder. [Note, reading STR resource mentioned in the comments is not implemented yet] ------------------------------------------------------------------------ #### BINHEX speech-manager-explorer.hqx **** From: Alexander W. Kourakos <kourakos@cardinal.ncsc.org> Subject: source/c - Speech Manager demo program Date: Wed, 18 Aug 93 13:09:18 EDT Organization: North Carolina Supercomputing Center This is a quick little program I hacked together the day I FTP'd the Speech Manager. Lets you play with voices, set pitch and rate, etc. Written in THINK C 6.0. Archived with StuffIt. Should work on any Mac that can use the Speech Manager. ---------------------- #### BINHEX speech-unit-p.hqx **** From "PAUL M SHELDON <psheldon@utdallas.edu>" Thu Sep 2 10:50:08 1993 Date: Thu, 2 Sep 1993 10:23:13 -0500 From: PAUL M SHELDON <psheldon@utdallas.edu> Subject: my speech object (5 hours small unit, I'm getting better) --1426085571-978700603-746985779:#3021 Content-Type: TEXT/PLAIN; charset=US-ASCII I didn't have help in c translation to pascal from the kid I mentor, PJ Traue, this time, so there are definite guesses in pascal meaning of c. In this archived submission are four mpw text files. I have included interface and implementation of the speech unit, my old code segment that doesn't use the unit and a new code segment which does. I noted that the new code segment that uses the unit must also have a uses speech or it won't know the meaning of a type, SpeechChannel. That's odd, since I tried not having uses all the way up the hierarchy of calling routines and the object oriented pascal language only caught me there. I am curious as to when I can get away with not using uses items; I am curious as to how much is, as they say in modula language, hidden import. This speech unit works, but may have mistakes in particular in the Gestalt manager call pascal interpretation of the c code written up in the apple docviewer document on speech manager. Maybe the kid I mentor will correct my translation. Maybe someone out there will. I also have Halts to handle os errors. I think that is sort of lame, because I don't insure that all objects are free'd with such a handling. Someone more savvy than could improve on this, for sure. I did several experiments with the unit. You will see my earlier (working) experiments commented out. I wanted to see what a Boris with a Brenda echo would sound like. It sounded like an incompetant translator, not like an echo. There was a time delay, even when I didn't put it there from the speech processing. A very short time for the Brenda echo, but noticeable. If you use the same speaker object to speak concurrently, it cuts its own speech off after an interceded delay. Evidentally, to have concurrent speech, your program must seize a different channel. What you can do with this: With this as a unit in a text editor, you should be able to select things you want to have the mac speak. When you use this unit, you may discover a greater wisdom that I found making it and improve upon it. For your courage, before I tried making this primative thing, I thought it would take more than twice as long as it did. It didn't, even though I was exhausted from other things I did that day! With this submission, you can get the feel of a boundary on how long it takes pascal procedural code to be turned into a prototype unit for an object. --1426085571-978700603-746985779:#3021 Content-Type: APPLICATION/octet-stream; name="speechunitex.hqx" Content-ID: <Pine.3.07.9309021159.A3021@sioux.utdallas.edu> Content-Description: #### BINHEX speedy-mouse-12-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Speedy Mouse 1.2 (source code) Date: Sat, 18 Dec 1993 00:13:34 -0500 (EST) Speedy Mouse is a fun little INIT which will cause your mouse to move twice as fast as it normally does. This INIT is free and is distributed under the GNU General Public License; this archive contains complete THINK C 6.0.1 source code and project files for the INIT. If you do not have FTP access, e-mail the author for a copy of the INIT, the source code, or a list of other programs by the same author. The address is f8dy@netaxs.com. Changes in version 1.2: the mouse no longer bounces off the edge of the screen, and the cursor disappears correctly now while you are typing. Also, the mouse will move at normal speed while the caps lock is down. This code demonstrates the basics of writing and installing a VBL, and manipulating undocumented low-memory globals. I used to say that this code would work on any Mac, but that has proved not to be true. If you have any compatibility problems, please report them to me at f8dy@netaxs.com. Many helpful users all over the world have provided feedback that has helped me advance Speedy Mouse this far. Speedy Mouse 1.2 is copyright 1993, Mark Pilgrim, MerriMac Software Group. #### BINHEX spin-cursor-101-c.hqx **** Date: Fri, 11 Sep 92 16:52:32 GMT-0500 From: rudman@mondo.engin.umich.edu Subject: [*] SpinCursor Library 1.01 NOTICE: This should replace the older version of the library This is the SpinCursor library, AGAIN ... UGH. Some of you may have already noticed there was no protection against installing more than once, and so the cursor jumped all over the place before finally dying a horribly yucky death. I installed a global variable called gCursInstalled, and this will fix it; now you can call BeginSpinning() and StopSpinning() without worry as to what will happen. Some notes for first-time users (read: people unaware of what a VBL task can do) o VBL-based spinning cursors will probably continue to spin even after the Macintosh has crashed. During true Mac crashes, however, the cursor will not MOVE anywhere, it will just spin. Good? Bad? You be the judge. o It would be a nice gesture for you to call StopSpinning() if you receive a suspend event, and then BeginSpinning() (if necessary) when you receive the resume event. Otherwise, you may be "giving the gift of spinning love" to other processes; this is defined in the dictionary as "NOT NICE". o Before you allow a user to quit your program, you should issue a StopSpinning() just to be on the safe side. Otherwise, the VBL will remain in memory, and it will attempt to JMP to a CODE which is no longer available. Can we say "crash" boys and girls? I knew you could... o Some people are very, very accute, and they have noticed some small flicker in the spinning cursors. This is because the calls to SetCursor are NOT always called in sync with the actual monitor vertical retrace. I will be working on this; in the mean time, it's just a SMALL flicker, more noticeable on machines with nice big 16" screens. o Okay, here's the scoop: SetCursor DOES NOT MOVE MEMORY under these conditions. SetCCursor MIGHT, however. Nobody at Apple was willing to try and put a color example into the new Inside Macintosh line of books, so I thought OK, I will. According to someone who sounds like they know, the color cursor call has a 0.1% chance of failing. I say, Hell... I lock everything and do the best job I can of keeping things from moving. I guess with something as sick as a VBL, anything can happen; but I say it's safe. If you have any comments, questions, or suggestions, please feel free to send me mail personally (no, you don't have to voice your opinions over the net ;) ) send to: rudman@engin.umich.edu -------------------------------------------------------------------------- Daniel E. Rudman The University of Michigan Computer-Aided Engineering Network Macintosh Systems Administration #### BINHEX spinning-cursor-c.hqx **** From: casgrain@ERE.UMontreal.CA (Casgrain Philippe) Subject: Spinning Cursor Library (code) Date: Fri, 5 Feb 93 13:49:55 EST This posting contains a library file that allows any program (C, Pascal, Fortran) to install an asynchronous (task-independent) spinning cursor. It is blatantly copied from the book "Macintosh Programming Secrets, 2nd Edition", and distributed with the author's consent. All I did (!) is type the code. I can also tell you that it works fine ;-). Instructions, source code (Think C) and sample code (Pascal and C) are included. If you have questions, feel free to ask! Philippe Casgrain Casgrain@ERE.UMontreal.CA P.S. This is postcard-ware: it is not my intellectual property, but if I stick the disk on my fridge, my kids don't see the point... :-) #### BINHEX standard-get-folder-10-c.hqx **** From "cklarson@rosarita.engr.ucdavis.edu (Christopher Klaus Larson)" Sun Aug 22 21:58:06 1993 Date: Sun, 22 Aug 93 15:57:04 PDT From: cklarson@rosarita.engr.ucdavis.edu (Christopher Klaus Larson) Subject: StandardGetFolder10.cpt.hqx StandardGetFolder 1.0 by Chris Larson (cklarson@engr.ucdavis.edu) This is the source code for a module which allows a user to select a folder via the standard file package. It is more complete and error-free than the other samples which perform this function (IMHO). Requires THINK C (written with version 6.0) and System 7 or later. Examples included. #### BINHEX startup-screen-picker-12-c.hqx **** From: f8dy@netaxs.com Subject: Startup Screen Picker 1.2 (source code) Date: Sun, 10 Jul 1994 01:56:03 -0400 (EDT) Startup Screen Picker 1.2 is a system extension (and startup application) which will pick a random startup screen to be displayed during system startup. This archive contains complete THINK C 7 source for the INIT and the startup application, including all necessary resource and project files. The compiled, ready-to-use programs are also available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for a complete program list. Startup Screen Picker 1.2 is copyright 1993-4, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. #### BINHEX std-get-folder-c.hqx **** Date: Sat, 6 Jun 92 21:31:06 CDT From: Kenneth B. Kirksey <kkirksey@eng.auburn.edu> Subject: Standard Get Folder C Code The Think C code in this archive implements a custom Standard File Dialog that allows users to select folders in which to save or locate files. All code and resources you need to use StandardGetFolder are included. Also included is a small sample program (in Think C) demonstrating the use of StandardGetFolder. Due to the fact the StandardGetFolder makes use of the CustomGetFile toolbox function and FSSpec records, it will only work under Sytem 7.0 or later. #### BINHEX stoned-mouse-10-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Stoned Mouse 1.0 (source code) Date: Sat, 13 Nov 1993 23:38:48 -0500 (EST) Stoned Mouse is a fun little INIT which will cause your mouse to move discretely instead of continuously, which I find breathtakingly disconcerting. This INIT is free and is distributed under the GNU General Public License; this archive contains complete THINK C 6.0.1 source code and project files for the INIT. If you do not have FTP access, e-mail the author for a copy of the INIT, the source code, or a list of other programs by the same author. The address is f8dy@netaxs.com. This code demonstrates the basics of writing and installing a VBL. This code should work under any system, with any monitor, on all Macintoshes. Please report any bugs/comments/suggestions to f8dy@netaxs.com. Stoned Mouse 1.0 is copyright 1993, Mark Pilgrim, MerriMac Software Group. #### BINHEX streamer-c.hqx **** Date: Fri, 30 Apr 1993 14:17:32 -0700 (PDT) From: HOWELL@UPS.EDU (JON) Subject: Streamer.hqx Here's the source to Bill's streamer, a little backup program for QIC24 streaming tape drives and such. I took it home and compiled it, and discovered this version waits indefinately for devices that don't exist on the bus. (while(); sorts of loops in scsi.c) After I fixed that to timeout, it seems to work right. It's pretty basic -- tiny interface, very little error handling (though error checking stuff is in place), but this is how he sent it. I intend to upgrade it a bit, and when I do, I'll send it in. Bill said it is to be under the usual copyleft freeware sort of arrangement -- distribute it, but it remains his property. (don't sell it.) (thanks, Bill!) --Jon ---- Here it is (a bit of a mess I'm afraid - kind of in between versions - so if you can't get it to compile properly, get back to me). It's a binhexed stuffit file, so you should be able to unpack everything OK. I've not bothered to split it up into little pieces since most mailers seem to be able to cope nowadays. If it does get to you OK, then please let me know (and yes, do forward it to macgifts) Have fun! Bill #### BINHEX strip-fat-c.hqx **** From: woody@alumni.caltech.edu (William Edward Woody) Subject: Strip68K and StripPPC Date: Mon, 20 Jun 1994 21:39:48 -0700 (PDT) Here are two programs I through together today, for removing unwanted executable code from a FAT application. Strip68K removes the 68000 code from a FAT application, leaving only the PowerPC software in it's place. StripPPC removes the PowerPC code from a FAT application, leaving only the 68000 software in it's place. I have also included the source kit if anyone is interested; part of it is a very simple drop shell that (should be) compatable with System 6 as well as System 7. (Under System 6 or if launched stand-alone, puts up a very simple menu bar with one option under the File menu.) Freeware; all I require is that if this gets redistributed elsewhere, the entire package (Read Me, Strip68K, StripPPC and the source kit) is redistributed as one package. Feel free to use the source code for your own use. - Bill Usual disclamers go here. (By the way, always back up your software before converting an application.) -- William Edward Woody -- In Phase Consulting -- Macintosh and Microsoft Windows Development -- 337 West California #4 -- Glendale, CA 91203 -- woody@alumni.cco.caltech.edu --- CUT HERE --- CUT HERE --- CUT HERE --- CUT HERE --- CUT HERE --- #### BINHEX stuff-c.hqx **** From: jrrk@camcon.co.uk (Jonathan Kimmitt) Subject: A mini drag-and-drop archiver Date: Thu, 5 May 1994 14:33:56 -0500 --========================_13840704==_ Content-Type: text/plain; charset="us-ascii" Here's something that I knocked up over the bank holiday weekend which might be of interest. Let me know what you think. Cheers JRRK ------------------------------------------------------ Macintosh users might be interested in my attempt to evaluate the performance of the power PC in a 'real' rather than a benchmark situation. What follows is the source code and FAT binary for a mini drag-and-drop archiver which uses the IEEE compress algorithm and hence is compatible with the original "stuffit". For maximum learning value I tried to make the source compatible with both of the Metrowerks compilers and the traditional THINK_C style of headers. The only real difference in a small program like this is the use of universal proc pointers to handle the apple events required for drag-and-drop operation. Since I couldn't find a better way of doing it I made the FAT binary by manually merging the 68000 version with the powerPC output of the Metrowerks Linker using ResEdit. Despite the 'FAT' designation it is only 24K which might be regarded as acceptable. On a 6100/60 the emulated version of the program knocks an LC-III into a cocked-hat, but the native version achieves possibly only a 50% speedup over the emulated version. I attribute this surprising result to the relatively frequent use of toolbox calls during the operation in order to keep buffer sizes small, and of course the fact that the compiler is only an alpha version. No responsibility accepted for any data loss caused by using this archiver on your files. It is only meant to be a benchmark remember. You have been warned. Your comments on bugs, performance tweaks, enhancements welcome to jrrk@camcon.co.uk Attachment converted: Spiff:stuff.sit (SITD/SIT!) (000184B8) ----- Jonathan Kimmitt In case of difficulty, try jrrk@uk.co.camcon and/or jrrk@camcon.co.uk when replying to this mail --========================_13840704==_ Content-Type: application/mac-binhex40; name="stuff.sit" Content-Disposition: attachment; filename="stuff.sit" #### BINHEX stus-thread-utilities-c.hqx **** From: Stuart Cheshire <cheshire@DSG.Stanford.EDU> Subject: Thread Manager Utility source code Date: Sat, 19 Mar 1994 17:33:35 -0800 // StuUsThreadUtils // // (C) 6th March 1994 Stuart Cheshire <cheshire@cs.stanford.edu> // StuUsThreadUtils is an ongoing development to make useful ThreadManager routines available to the public. I wrote it because Apple's Thread Manager is a great step forward to helping more developers create multi-threaded applications, with all the benefits that can bring to us end-users, so I'm very happy about it. However, the facilities provided by Apple's Thread Manager are very raw and minimal, and the supplimentary routines provided in Apple's ThreadUtils leave much to be desired, and are more likely to put people off thread programming than encourage them. Because of this, I wrote my own ThreadUtils. They are simple, elegant, and efficient, and should make people's lives much easier when they are trying to write threaded code. There are three files in this package (so far): // ThreadSynch.c/h // This file defines thread synchronization primitives: // Semaphores, Mutual exclusion locks, and Condition variables. // Pipeline.c/h // An example of a library using mutual exclusion locks, and condition // variables to implement a producers/consumers pipeline // test.c // Example code to use the above files. Stuart Cheshire <cheshire@cs.stanford.edu> * <A HREF="file://brubeck.stanford.edu/www/cheshire-bio.html">WWW</A> * Stanford Distributed Systems Group Research Assistant * Escondido Village Resident Computer Coordinator * Macintosh Programmer #### BINHEX suntar-132-c.hqx **** From: speranza@cirfid.unibo.it (Sauro Speranza) Subject: UPLOADING suntar1.3.2src.cpt.hqx Date: Tue, 3 Nov 92 13:37:09 MET [Source cdode for sun tar application uploaded the other day -- Gordon] #### BINHEX surfer-c.hqx **** From: rew8422@ultb.isc.rit.edu (R.E. Wilhelm ) Subject: Think C commToolbox stuff Date: Sun, 3 May 92 20:56:01 EDT Dear Moderators, This archive contains the source code for a program called Surfer, which is a demo of the Macintosh Communications Toolbox. Also included are some libraries and interfaces that work with Think C 4.0(Think c 5 include these files). The program compiles under Think C 4.0. I'm not smart enough to get it to work under version 5.0:) but I'm sure it can be done. Enjoy. Surfer was originally a Pascal program release by Mac DTS for MPW Pascal. Ron Wilhelm rew8422@ultb.ics.rit.edu ----------8<--------------------------8<------------------------8<--------- #### BINHEX t-tidy-applciation-cpp.hqx **** From: adamw@panix.com (Adam Wildavsky) Subject: TTidyApplication - A leak detector for MacApp Date: Fri, 25 Feb 1994 00:08:25 -0500 --========================_27835200==_ Content-Type: text/plain; charset="us-ascii" TTidyApplication is a C++ class for software developers who use MacApp, Apple's object oriented application framework. Its purpose is to help locate all the TObject descendants which a MacApp application has allocated but not freed. TTidyApplication is intended to be easier to use than the "Leaks" dcmd. It also works in MacApp 3.1 where "Leaks" is ineffective. In order to use the code you'll need MacApp 3.0.1 with Steve Jasik's "The Debugger" or MacApp 3.1 (I used b1) with either The Debugger or Mike Lockwood's "VoodooMonkey" debugger. VoodooMonkey is available on Apple's "Tool Chest" edition of its monthly developer CD. For more information see the enclosed summary and my article in the March '94 issue of Frameworks magazine (forthcoming.) Adam Wildavsky - Sr. Consultant - KPMG Peat Marwick - adamw@panix.com --========================_27835200==_ Content-Type: application/mac-binhex40; name="TTidyApplication.sit" Content-Disposition: attachment; filename="TTidyApplication.sit" #### BINHEX talk-106-pas.hqx **** Date: Sat, 25 Apr 1992 13:07:01 +0800 From: Peter N Lewis <peter@cujo.curtin.edu.au> Subject: source/pascal/talk-106-source.hqx This is the source code for Talk v1.0.6 & Talkd v1.0.6. Talk and talkd is an implementation of the UNIX Talk protocol for Macs with MacTCP. Talkd is a background only application that notifies you when a talk connection is requested, and Talk is a talk client, allowing you to talk to other machines. Both are System 7 friendly (but hopefully not dependent). Talk&Talkd are Povertyware, which basically means you get to send me five dollars if you can. The source code may be used for any non-commertial purposes as long as I get a mention in the about box and documentation of any derivative program. Hope you like them, Peter. <peter@cujo.curtin.edu.au> Talk 1.0.6 & Talkd 1.0.6 Copyright 1992, Peter N Lewis #### BINHEX talking-clock-10b1-c.hqx **** From macmod Thu Aug 26 20:12:40 1993 Date: Fri, 27 Aug 93 01:06:08 +0200 From: d88-jwa@nada.kth.se Subject: Talking Clock - Source Code! 1.0b1 For those of you more interested in the "why" than the "because," here comes source code for Talking Clock. It is structured so is can work as a minimalistic application shell as basis for your own applications, with a less than 10K overhead for windows and menu management! Read the license; it's freeware. / h+ -- -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe -- What we need is a good GNU [...] licence manager implementation. -- Raphael Manfredi talking-clock-source.cpt.hqx #### BINHEX talking-clock-pro-c.hqx **** Date: Sat, 4 Sep 93 20:46:34 +0200 From: d88-jwa@nada.kth.se Subject: Talking Clock Pro(tm) Source Code For those in need of a simple platform to build an application upon, or simply wanting to see how to implement an AppleScript-savvy talking clock faceless background extension, I present: The Source. Cheers, / h+ -- -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe -- Hackers push all the right buttons. #### BINHEX tar-40b-c.hqx **** From: cruff@niwot.scd.ucar.EDU (Craig Ruff) Subject: Tar 4.0b Source Date: Thu, 3 Feb 94 08:42:27 -0700 This is the source for tar for the Macintosh version 4.0b. It contains rudimentary support for SCSI tape drives and some other fixes (see manual in the separate executable file). I am no longer going to make changes or enhancements to tar. Feel free to take the source and modify to suit your needs. Craig Ruff (cruff@ncar.ucar.edu) #### BINHEX task-manager-221-c.hqx **** Date: 22 Jun 92 10:31:23 U From: "Michael Hecht" <michael_hecht@mac.sas.com> Subject: Task Manager 2.2.1 Regarding Task Manager 2.2.1 The Task Manager is a C source code package for creating and managing tasks--separate execution threads that run nonpreemptively in the background. Tasks should periodically call a Task Manager yielding routine to allow other tasks to run. Tasks are ideal for lengthy processes that you would like to run in the background, since the task runs in a separate execution thread from your event loop. --Michael ======================================================================= Michael P. Hecht | Internet: Michael_Hecht@mac.sas.com SAS Institute Inc.; Cary, NC USA | AppleLink: SAS.HECHT #### BINHEX task-manager-pas.hqx **** Date: Tue, 24 Nov 1992 14:05:12 +0800 From: Peter N Lewis <peter@ncrpda.curtin.edu.au> Subject: source/pascal/TaskManager-211P.hqx _______________________________________________________________________ Peter N Lewis <peter@ncrpda.curtin.edu.au> Ph: +61 9 368 2055 The Task Manager Version 2.2.1P This software source package is Copyright 1990 91 by Michael Hecht. All Rights Reserved. It may be freely distributed in source or object code format; however, the source code may not be sold for profit or charged for in any way. The Task Manager is a package for creating and managing tasks-separate execution threads that run nonpreemptively in the background. Tasks should periodically call a Task Manager yielding routine to allow other tasks to run. Tasks are ideal for lengthy processes that you would like to run in the background, since the task runs in a separate execution thread from your event loop. Michael Hecht wrote The Task Manager using THINK C 5.0.1, and I converted in to Pascal using THINK Pascal 4.0.1. The documentation is unchanged from Michael's, so it refers to C prodcedure's, but I'm sure you can figure it out. Hope its useful to someone, Peter. <peter@ncrpda.curtin.edu.au> Task Manager v2.2.1P Copyright 1990-92 Michael Hecht #### BINHEX tax-101-fkey-p.hqx **** From: HE KUER <elee74l@Menudo.UH.EDU> Subject: Tax FKEY 1.0.1 Date: Sat, 7 May 1994 17:14:01 -0500 (CDT) Moderators, This is a re-submission of the Tax FKEY. This is version 1.0.1. I only made minor changes in the documentation. I forgot to include the hard-coded tax rate in the READ ME file last time. It's 8.25%. Tax FKEY adds the tax to a number in the clipboard. See the READ ME for more info, including a QuicKeys script to automatically read in a number from a cell and replace it with the tax added onto it. THINK Pascal 4 source code enclosed. Freeware. Compacted and BinHexed with Compact Pro 1.34. This may be included in the Info-Mac CD-ROM. Others interested in commercial distribution should contact me first. Enjoy, David Alten elee74l@menudo.uh.edu HE KUER!! #### BINHEX tcl-terminalpane-10.hqx **** Date: Tue, 17 Aug 1993 14:34:08 -0600 From: Eric Scouten <scouten@staff.tc.umn.edu> Subject: /source/c/tcl-terminalpane-10.sit The enclosed file is a source code snippet for Think C 6.0 and TCL. It provides a basic 24*80 terminal display for use in terminal-style programs. Handles basic display functions, but does not provide advanced terminal emulation (i.e. does not include VT100). Freeware. Copyright (C) 1993, Eric Scouten, FrostByte/Design. Thanks for including it... -Eric --- Eric Scouten Internet: scouten@staff.tc.umn.edu Student Affairs Research Bitnet: scouten@umnacvx 110 Morrill Hall * Univ of Minn Phone: +1 612 626 0746 Minneapolis, MN 55455 USA "To start with, we must stop using students as the _escape_ goats." -Anon. #### BINHEX tcp-interface-example-pas.hqx **** Date: Thu, 10 Dec 1992 11:27:56 +0800 From: Peter N Lewis <peter@ncrpda.curtin.edu.au> Subject: source/pascal/tcpexample.hqx This is some example code to demonstrate the use of my TCP unis. These units implement a relatively high level interface to MacTCP, and allow fairly easy writing of TCP applications in Pascal using event driven programming. The example program is not a full shell, it simply implements a very basic finger to a fixed user@host. It should be fairly easy to understand. I've used the code in many apps, most of which are available from various ftp sites, or from redback.cs.uwa.edu.au in /others/peterlewis. Hope its useful to someone, Peter. <peter@ncrpda.curtin.edu.au> TCPExample v1.0.0 Copyright 1992 Peter N Lewis #### BINHEX tcp-oo-example-10.hqx **** Date: Thu, 1 Jul 1993 15:07:21 +0800 From: Peter N Lewis <peter.lewis@info.curtin.edu.au> Subject: source/pascal - TCPOOExample 1.0.0 This is some example code to demonstrate the use of my Object Oriented TCP units. These units implement a relatively high level interface to MacTCP, and allow fairly easy writing of TCP applications in Pascal using event driven, object oriented programming. The example program is not a full shell, it simply implements a very basic finger to a fixed user@host. It should be fairly easy to understand. I've used the code in many apps, most of which are available from various ftp sites, or from redback.cs.uwa.edu.au in /others/peterlewis. Hope its useful to someone, Peter. <peter.lewis@info.curtin.edu.au> TCPOOExample v1.0.0 Copyright 1993 Peter N Lewis #### BINHEX te32k-12a-c.hqx **** Date: Thu, 21 Jul 1994 17:30:05 +1000 From: michaell@gsb.usyd.edu.au (Michael Lowe) Subject: TE32K 1.2a (C Source code & demo app) --========================_8105853==_ Content-Type: text/plain; charset="us-ascii" TE32K is designed to be a more-or-less "plug in" replacement for the Macintosh Toolbox TextEdit package. The major advantage is that it can manipulate text files LARGER than 32K. The TE32K package includes standard (non-OOP) C source code, object files (for 68k and PPC), a compiled (FAT! :-) demo app & documentation. TE32K is free of charge, but if you do use TE32K in a piece of software which you market, for every copy you sell, you are required to donate $1.00 to the World Wildlife Fund, 90 Eglinton Avenue East, Suite 504, Toronto, Ontario, Canada, M4P 2Z7. TE32K was originally written by Roy Wood <rrwood@io.org>. This version is an upgrade made by Michael Lowe <michaell@gsb.usyd.edu.au> from the 1.2 source code. Roy Wood plans to release a new version soon, and has given permission for the release of this version in the interim. Enjoy! Michael Lowe New in v1.2a ------------ * implemented triple click support * implemented TE32KFeatureFlag - te32KFOutlineHilite: outline text highlighting in deactivated state - te32KFShowCarridgeReturns: show carriage returns with paragraph marker * implemented TE32KGetHiliteRgn for 'Drag and Drop' support * numerous bug fixes * Changes to support: - THINK C 6.0x/7.0x - MPW C - Universal Headers - Mac on RISC SDK --========================_8105853==_ Content-Type: application/mac-binhex40; name="TE32K.sit" Content-Disposition: attachment; filename="TE32K.sit" #### BINHEX tetris-light-c.hqx **** From: Hoylen Sue <hoylen@central.sussex.ac.uk> Subject: TetrisLight-src.cpt.hqx (Part 1/2) Date: Fri, 13 Aug 93 12:35:26 BST The following is a compact pro archive containing the Think C 5.0 sources for "Tetris Light". This is a lightweight Tetris program with source code freely available under the GNU General Public License. ---Beginning of Part 1/2--- #### BINHEX think-c-gamma-table-11-c.hqx **** Date: Sat, 13 Mar 93 11:19:05 -0500 From: Matt Slot <fprefect@engin.umich.edu> Subject: THINK C Gamma Fade Library v1.1 This is an update to an earlier posting of the same library, consisting mainly of bug fixes and documentation updates. Description: To do smooth fade in/out on Mac II machines, you can use the enclosed library routines to adjust the color correction (gamma) table of the connected monitors. These routines are programmer friendly, and should run on any Mac II or later machine, under both system 7 and system 6. Enclosed is also a quick demo application. If you have any questions or problems with this package, drop me mail. The whole set is free to anyone interested. fprefect@engin.umich.edu Matt Slot, CAEN Mac-Systems #### BINHEX think-c-various-c.hqx **** Date: Sun, 29 Apr 90 13:05 +0200 From: F86_FREDRIK@fyvax2.fy.chalmers.se Subject: Some useful code for THINK C 4.0 This is an archive of some code in THINK C 4.0 that I find useful, and use in many of my programming projects. Included are * CInstance - A class to implement object persistence (i.e a convenient way to use a preferences file). * driver - A class upon which to build drivers and DAs in a simple and convenient way. * PasStrs - A number of functions that lets you have look-alikes for the C string functions (e.g. strcat, strcpy, etc.) that works with Pascal strings. * A modified version of oops.c that includes a new function - sizeofobj - that is used by the CInstance class. I hope this proves useful to you. Enjoy! (This is completely free.) +-------------------------+--------------------------------+ | Sven Axelsson | d83_sven_a@tekno.chalmers.se | | dep:t of Linguistics | (^^ best ^^) | | univ. of Gothenburg | dlv_sa@hum.gu.se | | SWEDEN | usdsa@seguc21.bitnet | +-------------------------+--------------------------------+ --- cut here --- #### BINHEX think-dcmd-101-c.hqx **** Date: Wed, 7 Sep 1994 10:43:38 +0200 From: Patrick Stadelmann <Patrick.Stadelmann@etudiants.unine.ch> Subject: Think C dcmd 1.0.1 Hi ! This package will allow you to write dcmds (debugger commands) in Think C. It contains the glue code necessary to link the "dcmd.o" library, and Think Put, a collection of routines to create formatted output in dcmds. To use this package, you need the "dcmd.o" library and the "dcmd.h" header from Apple Computer, Inc. These files are available along with MacsBug from ftp.apple.com in the dts/mac/tools/macsbug/ directory. Changes since version 1.0 : - Now compatible with "TestDcmd". "Break on entry" didn't work with version 1.0. - The "@1." project now has the "Use MacsBug name" flag set. - Renamed global variables. - Some fixes in the doc. IMPORTANT : There is no change in the interface between version 1.0 and 1.0.1. Thus, there is no need to modifiy your code. This package is freeware and may be distributed freely. Written by P. Stadelmann <Patrick.Stadelmann@etudiants.unine.ch> Feel free to contact me if you have comments, suggestions or bugs to report. Patrick #### BINHEX thread-lib-10d4-c.hqx **** From: ari@world.std.com (Ari I Halberstadt) Subject: ThreadLib-10d4-c.hqx Date: Sun, 3 Apr 1994 12:05:07 -0400 (EDT) Many changes have been made from Thread Library 1.0d2 (the last fully public release). This version fixes several bugs and improves the internal operation of the Thread Library. See the "Version History" file for a complete version history. Thread Library implements nonpreemptive multiple thread execution within a single application. It does not require any extensions, should work with all Macintosh models (from the Plus on up), and works with systems 6.0 (tested on 6.0.5) under Finder or MultiFinder, and system 7.0. Thread Library compiles into a small library of around 2K, so it won't add much overhead to your application. A simple test application and THINK C project demonstrate how threads are used. Another simple test application compares the speed of Thread Library with the speed of Apple's Thread Manager. (Thread Library is 2-3 times faster!) Best of all, the source code, entirely in C, is free. Every thread has its own stack, and there are no restrictions on the objects that can be allocated on a thread's stack. All other global application data are shared by the threads. Context switches are very efficient since they involve only a few operations to save the current thread's state, followed by a longjmp to the new thread, and a few instructions to restore the thread's state. Thread Library was written using THINK C 5.0.4. Some minor changes may be needed to port it to other compilers. All suggestions and enhancements are welcome. #### BINHEX three-d-buttons-10b4-cdef.hqx **** Date: Sat, 5 Nov 94 09:43:26 PST From: zig@WC.Novell.COM (Zig Zichterman) Subject: 3D Buttons CDEF 1.0b4 3D Buttons CDEF This CDEF implements the 3D control interface as proposed in _develop_ 15. It also supports tristate checkboxes and radio buttons, as well as icon buttons. Full source is enclosed, as well as a small demo application. This code is in the public domain. Zig Zichterman ziggr@aol.com --- #### BINHEX three-point-plotters-c.hqx **** From: kenlong@netcom.com (Ken Long) Subject: 3pointplotters-c Date: Wed, 12 Jan 1994 13:23:46 -0800 (PST) Hello, there, MacGift Givers! This file contains 3 Think C 5 projects. 1 "NewCube" which puts up a data window and a drawing window, then uses point plots to draw an anitmated cube which rotates on two axis'. It's an update from an old .c file I found on the old BMUG BBS. 2 "NuCube" is a variation on the other done by Mark Hanrek, which adds a more sophisticated Mac shell and includes a GWorld. 3 "NewShuttleViewer" is a Pascal to C port I did of "Eddy's Shuttle Viewer, and improved upon it slightly. The original and .p file is included. There's also a code fragment that can be added to draw the coordinates where the points result over the window repeatedly as they are generated. The program draws a wire-frame Space Shuttle, ala point plots, then erases, then draws a slightly rotated view, repeat ad infinity. -Ken- ----------------------Get to snippin'!------------------------------------ #### BINHEX ttidy-application-cpp.hqx **** From "vinko@spss.com (Vinko Tsui (312) 329-3455)" Mon Mar 7 10:17:10 1994 Date: Mon, 7 Mar 1994 12:17:08 -0600 From: vinko@spss.com (Vinko Tsui (312) 329-3455) Subject: TTidyApplication - A leak detector for MacApp --========================_21343244==_ Content-Type: text/plain; charset="us-ascii" This is a posting for Adam Wildavsky (adamw@panix.com). Please see his description bellow -- Vinko Vinko Enterprises, Oakville, Ontario, Canada, vinko@applelink.apple.com ----------- TTidyApplication is a C++ class for software developers who use MacApp, Apple's object oriented application framework. Its purpose is to help locate all the TObject descendants which a MacApp application has allocated but not freed. TTidyApplication is intended to be easier to use than the "Leaks" dcmd. It also works in MacApp 3.1 where "Leaks" is ineffective. In order to use the code you'll need MacApp 3.0.1 with Steve Jasik's "The Debugger" or MacApp 3.1 (I used b1) with either The Debugger or Mike Lockwood's "VoodooMonkey" debugger. VoodooMonkey is available on Apple's "Tool Chest" edition of its monthly developer CD. For more information see the enclosed summary and my article in the March '94 issue of Frameworks magazine (forthcoming.) Adam Wildavsky - Sr. Consultant - KPMG Peat Marwick - adamw@panix.com --========================_21343244==_ Content-Type: application/mac-binhex40; name="TTidyApplication_w=Summary.sea" Content-Disposition: attachment; filename="TTidyApplication_w=Summary.sea" #### BINHEX turbo-tcp-20b4-cpp.hqx **** Date: Tue, 11 Oct 1994 12:49:00 -0500 From: Eric Scouten <scouten@uiuc.edu> (Eric Scouten) Subject: Update: TurboTCP --========================_14424414==_ Content-Type: text/plain; charset="us-ascii" The TurboTCP class library integrates the Think Class Library with Apple's MacTCP driver. This library, now in its second major version, provides robust support for most TCP/IP applications on the Macintosh. Its major features include truly asynchronous operation, high-speed automatic data receiving mechanism, mix-in C++ architecture, robust error recovery, and background friendly. Shareware fee applies *only* if used in shareware or commercial applications; free otherwise. Please remove any previous version of TurboTCP you may have on the archive. -Eric --========================_14424414==_ Content-Type: application/mac-binhex40; name="TurboTCP_2.0b4.sit" Content-Disposition: attachment; filename="TurboTCP_2.0b4.sit" #### BINHEX ultra-c.hqx **** From: M_P_McLaughlin%CAASD1@MWMGATE1.mitre.org Subject: Submission of "Ultra" Random-Number Library Date: Tue, 8 Feb 1994 12:18:30 -0600 --========================_13778016==_ Content-Type: text/plain; charset="us-ascii" This is an implementation of the "Ultra" pseudo-random number generator. Included are source code written in C/Assembly, a header file and a demo. The code REQUIRES a Macintosh (or other computer with a *Motorola* chip set, version 68020/68881 or higher). --========================_13778016==_ Content-Type: application/mac-binhex40; name="Ultra.sit" Content-Disposition: attachment; filename="Ultra.sit" #### TEXT unfolder-20-c.txt **** Date: Wed, 20 Oct 1993 22:53:52 -0400 (EDT) From: hshubs@BIX.com Subject: Unfolder 2.0 source This is the source code for Unfolder 2.0, so it might be named unfolder20.c, and put in the same directory as unfolder20.hqx. /* * The Unfolder - program to reconstitute MacBinary (II) encoded files. * * by various BIXen in the 'mac.hack/tutorial', started on 25 December 1989 * * Originally written by Don Sample, Howard Shubs, and Bob Perkins on * the BYTE Information eXchange (BIX), this program is intended to allow * people with a C compiler and no way to transfer resources to their Mac * to create a way to deal with Mac files which have been downloaded to * non-Macintosh hardware. This program will, when told to Unfold, * reconstitute a MacBinary version 1 or 2 file to its original state. * * The program will work as-is under THINK C 5.0.2, with just the MacTraps #### BINHEX url-helper-10d1.hqx **** Hi all, I'm sorry if some of you got this message twice. :) I'm one of the moderators at info-mac. One thing we really want to start doing is adding URLs to the digests instead of the [Archived as...] line. This brings up some real problems, however, as sumex-aim is already greatly overloaded and to have everyone who reads info-mac in newswatcher pounding it for a file... well, that would be "bad". I think that mac.archive at umich has the same problem. To solve this both archives have a fairly large set of mirror sites. Each person has their own fav mirror site for info-mac and the umich archive. Great. I thought it would be great if all the various gopher/etc. programs would do automatic mirror subsititution. This package I've written, "URL Helper", attempts to do just that. It is a combination of a small library and a component. The component keeps track of a list of mirrors for each main site. When a program has a URL it wants to look up, it hands the URL to the component. The component sees if that URL matches any of its known mirror sites -- in some mirror list. So something like "ftp://sumex-aim.stanford.edu/info-mac/..." would match a site on the info-mac mirror list. The calling program can then retreive the various enabled mirrors for that site. Path translations, etc. are taken care of. It is all done with text subsitution. Here is a short example. I didn't use the real info-mac mirror list, just a made up one. Here is what the internal mirror list looks like for info-mac: "\p^0://sumex-aim.stanford.edu/info-mac/^1" "\p^0://mac.archive.edu/pub/info-mac/^1" "\p^0://mit.mit.edu/pub/mirrors/im/^1" The "^N" are substitution characters. They can be in any order or any position in a mirror string. And, when I run the test program, I get back the following (this is output of a test in the file main.c). Full Test on: 'ftp://sumex-aim.stanford.edu/info-mac/grf/util/mac-graphics.hqx' -> 'ftp://mit.mit.edu/pub/mirrors/im/grf/util/mac-graphics.hqx' -> 'ftp://mac.archive.edu/pub/info-mac/grf/util/mac-graphics.hqx' Where the "Full test on " line whas the input URL. The "->" are the resulting mirror URLS. Note that sumex-aim.stanford.edu doesn't appear in the output. That is because that was specified as a "no use" mirror... The code to do this is pretty simple, when the library is used: • To get only the first mirror (the primary mirror): URLHLibGetFirstMirror (string, mirror); where "string" is the original url, and "mirror" is a pointer to a new mirror url. • To get all of the mirrors back, one by one: short index; URLHParseRef parseRef; Str255 mirror; parseRef = URLHLibNewParseState (string); index = 1; while (URLHLibGetIndexedMirror (parseRef, index, mirror)) { index++; } URLHLibDisposeParseState (parseRef); The library has been designed to work weather or not the component is in place. Basically, that is it. I don't want to develop this any further until I get a reaction from the people who are going to use it. Is this api any good? Does it have enough flexability? You can look at the full source; I've uploaded it to my personal archive site (it is in ftp://sumex-aim.stanford.edu/dev/src/url-helper-10d1.hqx -- it should move all the mirrors by tomorrow morning -- or send a note to me and I'll send you the .hqx). The biggest thing it is currently lacking is that it dosen't save the mirror lists to a prefs file. I didn't want to spend more time if people decide it won't be worth it. I even volenteer(sp) to do the UI for the internet prefs app (if it ever gets written!). I would think that programs like Anarchie, Fetch, mac gopher, etc. would use this, not a program like NewsWatcher. But, it could be one has a mirror list that would convert "ftp://" into "gopher://".. and it would be bad for Fetch to end up with a gopher URL! Whatever. Oh -- I do plan, if people like it, to write a set of routines that will parse a gopher/ftp address so that the author need not be bothered with that parsing (this thing only works on complete URLs right now). Also note that I've sidestepped the issue of automatically figuring out which mirror is closest. That can be added (if ever) later. What we really need is a better internet archive system, instead of stop-gap systems like this... :) Cheers, Gordon. #### BINHEX uupc-31-c.hqx **** Subject: uupc 3.1 source code [part 1 of 11] Organization: Snulbug Software From: dplatt@snulbug.mtview.ca.us (Dave Platt) Date: Wed, 07 Sep 94 20:50:09 -0800 This archive contains the source code and THINK C project and resource files for uupc 3.1. --- Dave Platt dplatt@snulbug.mtview.ca.us (domain/MX) RIPEM and PGP or apple!snulbug!dplatt (uucp path) public keys or dplatt%snulbug.uucp@apple.com (non-MX Internet) available upon request -- cut here -- begin uupc 3.1 sources .cpt.hqx -- part 1 of 11 -- #### BINHEX video-toolbox-94-06-23-c.hqx **** From: "Denis Pelli" <denis_pelli@isr.syr.edu> Subject: VideoToolbox.94.6.23.sea Date: 24 Jun 1994 21:10:13 -0500 Subject:VideoToolbox.94.6.23.sea 8:54 PM 6/24/94 The new release of the VideoToolbox is enclosed. It replaces the previous version: ftp://sumex-aim.stanford.edu:info-mac/Development/SourceCode/video-toolbox.94.1.12 VideoToolbox.94.6.23.sea June 23, 1994 The VideoToolbox is a collection of two hundred C subroutines and several demo and utility programs that I and others have written to do visual psychophysics with Macintosh computers. It's free and may not be sold without permission. It should be useful to anyone who wants to present accurately specified visual stimuli or use the Mac for psychometric experiments. The text file "Video synch" discusses all the ways of synchronizing programs to video displays and the many pitfalls to avoid. The TimeVideo application checks out the timing of all video devices in anticipation of their use in critical real-time applications, e.g. movies or lookup table animation. Low-level routines control video timing and lookup tables, display real-time movies, and implement the luminance-control algorithms suggested by Pelli and Zhang (1991). (D.G. Pelli and L. Zhang, 1991, Accurate control of contrast on microcomputer displays. Vision Research, 31, 1337-1350. Reprints are available.) In particular, GetPixelsQuickly and SetPixelsQuickly peek and poke pixels in bitmaps and pixmaps, CopyBitsQuickly copies bit/pixmaps to the screen, and SetEntriesQuickly and GDSetEntries load the screen's color lookup table, all without any of QuickDraw's color translations. High-level routines help analyze psychophysical experiments (e.g. graphing or maximum-likelihood fitting of psychometric data). Assign.c is a runtime C interpreter for C assignment statements, which is useful for controlling experiments and sharing calibration data. This collection has been continually updated since 1991. Many colleagues have indicated that they are using the software in their labs. Documentation is in the source files themselves. Many of the routines are Mac-specific, but some very useful routines, e.g. the luminance-control, statistics, maximum-likelihood fitting algorithms, and the runtime interpreter are written in Standard C and will work on any computer. Denis Pelli Professor of Neuroscience Institute for Sensory Research Syracuse University Syracuse, NY 13244-5290 denis_pelli@isr.syr.edu VideoToolbox: Changes June 23, 1994 CHANGES DURING 6/94 *The "demos" folder now has "noFPU" versions of all projects that formerly used the 68881 chip, for compatibility with a wider range of Macs, especially the Power Macs. *"Read me" gives advice on using CopyBits and BlockMoveData. *MaximizeConsoleHeight.c's documentation now acknowledges a limitation under 1-bit QuickDraw. *PrintfGWorld.c now calls SetGDevice(GetMainDevice()) before calling printf, since attempts to write to the console fail unless the main device is the current device. *Assign.c has an enhanced error message to reveal any spurious nonprinting characters in offending text. *Added "Multisync Sense Pins.note" by Philipp Biermann. *TimeVideo 3.0.1 adds to the SimpleText "TimeVideo results" document a 'styl' resource specifying Monaco font . *Fixed bug that crashed ConvolveX.c, CopyBitsQuickly.c, CopyBitsQuicklyOld.c, PixMapToPostScript.c, SetEntriesQuickly.c, SetOnePixel.c, and SetPixelsQuickly.c (and thus TimeVideo 2.5.6) when accessing a 32-bit address on a Mac whose ROMs were not 32-bit clean. For example, this made TimeVideo crash when testing a RasterOps 24 L Video in a Mac IIx. It hadn't occurred to me that gestalt32BitCapable would return false on Macs with dirty ROMs even when the SwapMMUMode trap is available. The appropriate test is TrapAvailable(_SwapMMUMode). (Thanks to Margaret Bradley <BRADLEY@nervm.nerdc.ufl.edu> and Debbie Moore for the crash reports.) *Zoom.c now accepts a further argument, a pointer to the event record, which previously was accessed as a global variable. This will require changes to all programs that call Zoom(). *In the interest of portability, I've standardized on the names "c2pstr and p2cstr" because they're defined in Apple's Strings.h (rather than Symantec's pascal.h) and they're available in MacTraps (rather than MacTraps2), unlike the variously named alternatives: C2PStr, CtoPStr, P2CStr, and PtoCStr. *GDOpenWindow.c: In response to a query by David Brainard I now document the obscure fact that GDOpenWindow's frame (not content) will overlap onto other screens that are contiguous parts of the desktop. *AddExplicitPalette() now also calls the new VideoToolbox routine MakeColorTableExplicit(). This will tell CopyBits to faithfully copy your pixels as numbers, without color translation, when you copy from your window. As a result you will now often be able to use CopyBits, with all its power, instead of my dumber substitute called CopyBitsQuickly. *So that all users might freely use Apple's new BlockMoveData (see "Read Me"), VideoToolbox.h now declares it, if necessary, which provides compatibility with Apple's old pre-Universal header files. *Added support for BlockMoveData to CopyBitsQuickly.c, but limited testing indicates no speed advantage, even on a Power Mac, so the new code is disabled. *Added new transfer mode to CopyBitsQuickly.c that accepts any pixel size: addOverQuickly adds the source to the destination, four bytes at a time. This gives maximum speed for cases in which you know overflow won't happen. Overflow may carry over into neighboring pixels within the image. *Rewrote most of CopyBitsQuickly.c, replacing all assembly by portable C code of similar speed. (Just in case, the old tried-and-true CopyBitsQuicklyOld.c is supplied as well.) CHANGES DURING 5/94 *Art Wixson says the ISR Video Attenuators are once again in stock. See the "Video Attenuator" document. *TimeCPU now includes timing for BlockMove() and BlockMoveData(). *Made entire VideoToolbox compatible with Apple's Universal Headers. Renamed "DateString" to "DatedString", and "StringToDate" to "StringToDateAndSecs", to avoid conflict with Apple's Universal Headers. Made minor changes to CalibrateLuminance.c, FlushCacheRange.c, GDTime.c, PlotXY.c, SetMouse.c, SndPlay1.c, Timer.c, and VBLInstall.c for compatibility with Apple's Universal Headers. (A bit more work may be required before these routines can be compiled to run native on the PowerPC.) Thanks to Bob Dougherty (wolfgang@cats.ucsc.edu) for reporting the incompatibility. *To enhance compatibility with PowerPC, eliminated the use of low-memory globals in CopyQuickDrawGlobals.c, Sandstorm.c, and Zoom.c. *Added Nan.c which defines a pre-computed global double called "Nan" that contains the value 0.0/0.0. CHANGES DURING 4/94: *Added THINK C 7 projects. *Added GetRectDevice() to GetScreenDevice.c. *Enhanced SetPixelsQuickly.c to not flush its cache when writing to the main screen. In response to query by David Brainard. CHANGES DURING 3/94: *Added ATMInterface.c and ATMInterface.h from Adobe Systems Inc., allowing direct access to Adobe Type Manager for special effects. *In Normal.c, added BoundedNormalIntegers(distribution,n,mean,sd,min,max), which fills the "distribution" array with n ordered integers so that random samples from the array, i=distribution[nrand(n)], will be samples from a bounded normal distribution. *In nrand.c, replaced all three routines (nrand, nrandU, and nrandUL) by one universal routine, nrand(), that returns an unsigned long value and uses integer arithmetic (as in the old nrandU) if n is small enough, and otherwise uses double arithmetic (as in the old nrandUL). *Added LtoE, EToL, and LtoEOrdered to Luminance.c. LtoE returns the index of the table entry in the specified range with luminance closest to L. *Changed DateString.c to produce shorter strings by omitting the periods: "890625015959" instead of "89.06.25.01.59.59". *Rewrote Shuffle.c to accept an arbitrary elementSize. (All calling programs will need to be changed, to add the new argument.) *Deleted MyFgets.c from Quick3. *Added CVNetConvert by Izumi Ozhawa to the Utilities folder. *Added IdentifyOwner to Identify.c. *Added MacMemory.h and MacMemory.c which, if included in your project, redefine the Standard C memory management calls (free,malloc,calloc,realloc) to use the Apple Memory Manager, bypassing Symantec THINK C's inefficient memory manager. *Enhanced Assign.c slightly. PrintAnAssignment now prints enough digits to maintain the precision specified in float.h. This resolves the somewhat spurious errors reported by UnequalDescribedVars when doing read-after-write checks. Fixed PrintQuotedString to correctly handle strings containing the double-quote character. Cosmetic enhancement of how /* comments */ are printed, for nicer word wrap. *Added RemovePalette(window) to GDOpenWindow.c, which complements the pre-existing AddExplicitPalette(window). CHANGES DURING 2/94: *Enhanced VBLInstall.c in response to query by Mike Tarr; it now runs forever if frames==-1. *Enhanced StringBounds.c to also count the black pixels. An argument was added. CHANGES DURING 1/94: *Enhanced MultipleChoice.c to keep accepting characters until they uniquely specify an answer. *Added routines to Mean.c to accept arrays of signed or unsigned char, short, or long. All the routines have been optimized for speed. *Added StringBounds.c, which computes the minimum bounding rectangle for all the pixels that would be set black by calling DrawString with the given pascal string, in the current port, font, size, and style. CharBounds() creates a one-char string and calls StringBounds(). *Added PrintfGWorld.c, for debugging, which uses "printf" to print out the GWorld as a gross bitmap. All earlier changes appear in the file VideoToolbox:"Changes 1990-3". #### BINHEX voyeur-111-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: Voyeur 1.1.1 (source code) Date: Mon, 28 Feb 1994 13:29:08 -0500 (EST) Voyeur 1.1.1 is a no-frills file viewer. You may view the raw hex and ASCII data of either fork of up to ten files at once. Current features include hex or ASCII find, modifying type/creator information, setting EOF of either fork. Version 1.1.1 fixes a bug that made "Set EOF" always return an error. This archive contains complete THINK C source code, project files, and resource files. Application also available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for complete program list. Copyright (C) 1993-4, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. #### BINHEX warez-11-c.hqx **** From: f8dy@netaxs.com (Mark Pilgrim) Subject: WAREZ 1.1 (source code) Date: Thu, 17 Feb 1994 00:44:04 -0500 WAREZ is a small utility to convert text files to WAREZ talk. Version 1.1 supports RTF files and fixes several technical bugs. This will be the last version of WAREZ; all future enhancements will be part of the larger text conversion program, Dialectic. Supports drag and drop of any number of text files of any length. This archive contains complete THINK C source code, project files, and resource files. Application also available; check ftp sites or e-mail f8dy@netaxs.com. Finger f8dy@netaxs.com for complete program list. Copyright (C) 1994, Mark Pilgrim. Please read enclosed file "GNU General Public License" for licensing details. #### BINHEX warp-ii-c.hqx **** From: kenlong@netcom.com (Ken Long) Subject: warpii-c.sit.hqx Date: Mon, 10 Jan 1994 18:24:25 -0800 (PST) Mac People: This is a simple "warp" source file, with a few variations. 5 examples of warp, starburst and starfield Think C projects. The original was posted by Tony Mattis on DevNet. Ken -------------------------------------------------------------------------- #### BINHEX wdef-patch-21-c.hqx **** From: ROBERTO AVANZI 338188/SM <gandalf@sabrina.dei.unipd.it> Subject: WDEF PAtch from apple:further changes Date: Mon, 22 Jun 92 11:18:03 GMT Hi, netters WDEFPatch is an Apple sample code snippet that shows how to add in a clean way a new behaviour to an existing WDEF. It adds a new part in the window title bar that, when clicked, is reported to the application. I implemented the tracking of that part. In case you downloaded the improved WDEFPatch (originally from Steve Falkenburg), in the meantime I discovered a funny quirk in the system software WDEF. (at least, sys 7's). I found it when adding a zoom box to the window. Falkenburg's had not, neither did my original improvement. It can only be the system's misbehaviour but luckily a workaround could be found very easily (and is clean). I included the two apps. The one without workaround and one with it. Read the source for details. Then laugh when you see what happens. I feel my new knowledge can be useful also to others. Enclosed is a binhexed-compactpro archive. Roberto Avanzi. <gandalf@sabrina.dei.unipd.it> #### BINHEX welcome-132.hqx **** From: IO92143@MAINE.maine.edu (Donna Foster) Subject: Welcome! v1.3.2 Date: Tue, 14 Dec 93 22:58:49 EST Enclosed is the app and source for Welcome, an app which uses the Speech Manager to read you the date, time, and a short message. (Run it between 6 and 12 on the 24th of December for a sample...) It's based on Welcome2, an old app which used MacinTalk. If the author is out there somewhere, I'd be happy to credit you.... Version 1.3.2 fixes two bugs--one appeared the week of Thanksgiving, when I forgot to check whether I had typed == or =, and one appeared October 31, when nothing happened. :-) This version is postcardware. Version 2.0, coming out soon, will be customizable with ResEdit. Version 3.0, if ever, will let you do it from within the program.... #### BINHEX winter-shell-10d2-c.hqx **** From: ari@world.std.com (Ari I Halberstadt) Subject: winter-shell-10d2-c.cpt.hqx Date: Thu, 20 Jan 1994 22:52:23 -0500 (EST) Source code for a Macintosh application shell. Approximately 1.1 megabytes of C source code are provided (at 27 characters per line, that's over 40000 lines). Both systems 6 and 7 are supported. You may use this as the basis for an application, or you may extract any useful functions you find for use in your own code. There are many useful code snippets in here, and the code should prove useful for both beginner and experienced Macintosh programmers. The code was written with THINK C 5.0.4, though porting to MPW should not be too difficult; guidelines for porting are included in the file "Porting". The software is free, and may be used in any free product according to the terms described in the file "Distribution". For commercial use please contact the author. This is the first public release. Documentation, other than comments in the source code, is sparse. If there is interest and as time permits I may write additional documentation. #### TEXT write-through-init-c.txt **** From: Stuart Cheshire <cheshire@cs.stanford.edu> Subject: WriteThrough INIT source code Date: 9 Apr 1994 17:28:11 GMT // Disk cache bypass INIT // Copyright (C) April 1994 Stuart Cheshire // Should be compiled as an INIT resource // (use the "custom header" option in Think C) #include <Traps.h> // I know an address should be defined as a pointer type (eg 'void *'), // not a 'long', but Apple's Get & Set TrapAddress calls are defined to // use longs, so it's not my fault typedef struct { unsigned short opcode; long addr; } JmpInstruction; typedef void ShowIconFamily(short iconId); void main(void); #### BINHEX writeswell-jr-102-c.hqx ****